import { z } from 'zod';
/**
 * Schema for the status of a job.
 */
export declare const JobStatusSchema: z.ZodEnum<{
    success: "success";
    preparing: "preparing";
    running: "running";
    failed: "failed";
}>;
/**
 * Job status.
 */
export type JobStatus = z.infer<typeof JobStatusSchema>;
/**
 * Schema for the mode of a job.
 */
export declare const JobModeSchema: z.ZodEnum<{
    import: "import";
    export: "export";
}>;
/**
 * Job mode.
 */
export type JobMode = z.infer<typeof JobModeSchema>;
/**
 * Schema for a task in the job.
 */
export declare const TaskSchema: z.ZodObject<{
    id: z.ZodString;
    mode: z.ZodEnum<{
        import: "import";
        export: "export";
    }>;
    integration: z.ZodString;
    config: z.ZodUnknown;
    inputFile: z.ZodString;
    outputFile: z.ZodString;
    status: z.ZodEnum<{
        success: "success";
        preparing: "preparing";
        running: "running";
        failed: "failed";
    }>;
    error: z.ZodOptional<z.ZodString>;
    rowsAffected: z.ZodNumber;
    createdDate: z.ZodCoercedDate<unknown>;
    finishedDate: z.ZodNullable<z.ZodCoercedDate<unknown>>;
}, z.core.$loose>;
/**
 * A task in the job.
 */
export type Task = z.infer<typeof TaskSchema>;
/**
 * Schema for the details of a running job.
 */
export declare const JobSchema: z.ZodObject<{
    id: z.ZodString;
    status: z.ZodEnum<{
        success: "success";
        preparing: "preparing";
        running: "running";
        failed: "failed";
    }>;
    error: z.ZodOptional<z.ZodString>;
    tasks: z.ZodArray<z.ZodObject<{
        id: z.ZodString;
        mode: z.ZodEnum<{
            import: "import";
            export: "export";
        }>;
        integration: z.ZodString;
        config: z.ZodUnknown;
        inputFile: z.ZodString;
        outputFile: z.ZodString;
        status: z.ZodEnum<{
            success: "success";
            preparing: "preparing";
            running: "running";
            failed: "failed";
        }>;
        error: z.ZodOptional<z.ZodString>;
        rowsAffected: z.ZodNumber;
        createdDate: z.ZodCoercedDate<unknown>;
        finishedDate: z.ZodNullable<z.ZodCoercedDate<unknown>>;
    }, z.core.$loose>>;
    passesCount: z.ZodNumber;
    logs: z.ZodArray<z.ZodString>;
    finishedDate: z.ZodNullable<z.ZodCoercedDate<unknown>>;
    createdDate: z.ZodCoercedDate<unknown>;
}, z.core.$loose>;
/**
 * The details of a running job.
 */
export type Job = z.infer<typeof JobSchema>;
