import type { CliArguments, ExportedFile, Job, JobTemplate, Logger, Spinner, TaskData } from './types.js'; type SecondaryInputFiles = Record; interface InterruptSignalEmitter { once(signal: 'SIGINT', listener: () => void): unknown; off(signal: 'SIGINT', listener: () => void): unknown; } export interface RunJobDependencies { spinner: Spinner; logger: Logger; downloadFile?: typeof downloadExportFile; signalEmitter?: InterruptSignalEmitter; } export declare function buildJobTemplate(taskData: TaskData, files?: string[], secondaryInputFiles?: SecondaryInputFiles): JobTemplate; export declare function runJob(argv: CliArguments, taskData: TaskData, { spinner, logger, downloadFile, signalEmitter }: RunJobDependencies): Promise; export declare function downloadExportFile(file: ExportedFile, outputdir: string | undefined, overwrite: boolean): Promise<'downloaded' | 'skipped'>; export {};