/**
 * src/cron/types.ts
 * Cron Job Types — Persistent scheduled tasks
 */
import { z } from 'zod';
export declare const cronJobSchema: z.ZodObject<{
    id: z.ZodString;
    tenant_id: z.ZodString;
    name: z.ZodString;
    schedule: z.ZodString;
    timezone: z.ZodDefault<z.ZodString>;
    payload: z.ZodObject<{
        kind: z.ZodEnum<{
            agentTurn: "agentTurn";
            systemEvent: "systemEvent";
        }>;
        text: z.ZodOptional<z.ZodString>;
        message: z.ZodOptional<z.ZodString>;
        model: z.ZodOptional<z.ZodString>;
        timeoutSeconds: z.ZodOptional<z.ZodNumber>;
        recursionDepth: z.ZodOptional<z.ZodNumber>;
        oneShot: z.ZodOptional<z.ZodBoolean>;
        customerId: z.ZodOptional<z.ZodString>;
    }, z.core.$strip>;
    delivery: z.ZodOptional<z.ZodObject<{
        mode: z.ZodEnum<{
            none: "none";
            announce: "announce";
            webhook: "webhook";
        }>;
        channel: z.ZodOptional<z.ZodString>;
        to: z.ZodOptional<z.ZodString>;
        bestEffort: z.ZodOptional<z.ZodBoolean>;
    }, z.core.$strip>>;
    enabled: z.ZodDefault<z.ZodBoolean>;
    lastRunAt: z.ZodNullable<z.ZodString>;
    nextRunAt: z.ZodString;
    runCount: z.ZodDefault<z.ZodNumber>;
    created_at: z.ZodString;
    updated_at: z.ZodString;
}, z.core.$strip>;
export type CronJob = z.infer<typeof cronJobSchema>;
export interface CronExecution {
    jobId: string;
    tenantId: string;
    executedAt: string;
    success: boolean;
    output?: string;
    error?: string;
    durationMs: number;
}
export declare const cronExecutionSchema: z.ZodObject<{
    id: z.ZodString;
    job_id: z.ZodString;
    tenant_id: z.ZodString;
    executed_at: z.ZodString;
    success: z.ZodBoolean;
    output: z.ZodNullable<z.ZodString>;
    error: z.ZodNullable<z.ZodString>;
    duration_ms: z.ZodNumber;
}, z.core.$strip>;
export type CronExecutionRecord = z.infer<typeof cronExecutionSchema>;
//# sourceMappingURL=types.d.ts.map