export type AgentConfig = {
    fedeoUrl: string
    agentToken: string
    pollSeconds: number
    workDir: string
    scannerName?: string
    printerName?: string
    scanFormat: "pdf" | "png" | "tiff"
    scanResolution: number
    scanMode: string
    scanSource?: string
    scanPostprocess: boolean
    postprocessProfile: "document" | "receipt" | "raw"
    postprocessPython: string
    postprocessStrict: boolean
}

export type AgentHeartbeat = {
    capabilities: {
        scan: boolean
        print: boolean
        platform: NodeJS.Platform
    }
    scannerNames: string[]
    printerNames: string[]
    debugInfo: Record<string, unknown>
}

export type ScanJob = {
    id: string
    tenantId: number
    agentId: string
    status: string
    scannerName?: string | null
    requestedFilename?: string | null
    settings?: Record<string, unknown>
    target?: Record<string, unknown>
}

export type NextScanJobResponse = {
    job: ScanJob | null
}

export type ScanResult = {
    path: string
    filename: string
    mimeType: string
}
