import { z } from 'zod';
declare const cronExpression: z.ZodString;
declare const CronPayloadSchema: z.ZodUnion<readonly [z.ZodObject<{
    kind: z.ZodLiteral<"systemEvent">;
    text: z.ZodString;
}, z.core.$strip>, z.ZodObject<{
    kind: z.ZodLiteral<"agentTurn">;
    message: z.ZodString;
    model: z.ZodPreprocess<z.ZodOptional<z.ZodString>>;
    timeoutSeconds: z.ZodOptional<z.ZodNumber>;
}, z.core.$strip>]>;
declare const CronDeliverySchema: z.ZodObject<{
    mode: z.ZodDefault<z.ZodEnum<{
        none: "none";
        direct: "direct";
        announce: "announce";
    }>>;
    channel: z.ZodPreprocess<z.ZodOptional<z.ZodString>>;
    to: z.ZodPreprocess<z.ZodOptional<z.ZodString>>;
    bestEffort: z.ZodOptional<z.ZodBoolean>;
}, z.core.$strip>;
export declare const JobDataSchema: z.ZodObject<{
    id: z.ZodString;
    name: z.ZodOptional<z.ZodString>;
    schedule: z.ZodString;
    enabled: z.ZodBoolean;
    timezone: z.ZodOptional<z.ZodString>;
    maxRetries: z.ZodDefault<z.ZodNumber>;
    timeout: z.ZodDefault<z.ZodNumber>;
    created_at: z.ZodString;
    updated_at: z.ZodString;
    sessionTarget: z.ZodOptional<z.ZodEnum<{
        main: "main";
        isolated: "isolated";
    }>>;
    agentId: z.ZodPreprocess<z.ZodOptional<z.ZodString>>;
    workingDirectory: z.ZodPreprocess<z.ZodOptional<z.ZodString>>;
    payload: z.ZodUnion<readonly [z.ZodObject<{
        kind: z.ZodLiteral<"systemEvent">;
        text: z.ZodString;
    }, z.core.$strip>, z.ZodObject<{
        kind: z.ZodLiteral<"agentTurn">;
        message: z.ZodString;
        model: z.ZodPreprocess<z.ZodOptional<z.ZodString>>;
        timeoutSeconds: z.ZodOptional<z.ZodNumber>;
    }, z.core.$strip>]>;
    delivery: z.ZodOptional<z.ZodObject<{
        mode: z.ZodDefault<z.ZodEnum<{
            none: "none";
            direct: "direct";
            announce: "announce";
        }>>;
        channel: z.ZodPreprocess<z.ZodOptional<z.ZodString>>;
        to: z.ZodPreprocess<z.ZodOptional<z.ZodString>>;
        bestEffort: z.ZodOptional<z.ZodBoolean>;
    }, z.core.$strip>>;
    model: z.ZodPreprocess<z.ZodOptional<z.ZodString>>;
    state: z.ZodOptional<z.ZodAny>;
}, z.core.$strict>;
export declare const AddJobRequestSchema: z.ZodObject<{
    schedule: z.ZodString;
    name: z.ZodOptional<z.ZodString>;
    timezone: z.ZodOptional<z.ZodString>;
    maxRetries: z.ZodOptional<z.ZodNumber>;
    timeout: z.ZodOptional<z.ZodNumber>;
    sessionTarget: z.ZodOptional<z.ZodEnum<{
        main: "main";
        isolated: "isolated";
    }>>;
    agentId: z.ZodPreprocess<z.ZodOptional<z.ZodString>>;
    workingDirectory: z.ZodPreprocess<z.ZodOptional<z.ZodString>>;
    payload: z.ZodUnion<readonly [z.ZodObject<{
        kind: z.ZodLiteral<"systemEvent">;
        text: z.ZodString;
    }, z.core.$strip>, z.ZodObject<{
        kind: z.ZodLiteral<"agentTurn">;
        message: z.ZodString;
        model: z.ZodPreprocess<z.ZodOptional<z.ZodString>>;
        timeoutSeconds: z.ZodOptional<z.ZodNumber>;
    }, z.core.$strip>]>;
    delivery: z.ZodOptional<z.ZodObject<{
        mode: z.ZodDefault<z.ZodEnum<{
            none: "none";
            direct: "direct";
            announce: "announce";
        }>>;
        channel: z.ZodPreprocess<z.ZodOptional<z.ZodString>>;
        to: z.ZodPreprocess<z.ZodOptional<z.ZodString>>;
        bestEffort: z.ZodOptional<z.ZodBoolean>;
    }, z.core.$strip>>;
    model: z.ZodPreprocess<z.ZodOptional<z.ZodString>>;
}, z.core.$strip>;
export declare const UpdateJobRequestSchema: z.ZodObject<{
    name: z.ZodOptional<z.ZodString>;
    schedule: z.ZodOptional<z.ZodString>;
    timezone: z.ZodOptional<z.ZodString>;
    maxRetries: z.ZodOptional<z.ZodNumber>;
    timeout: z.ZodOptional<z.ZodNumber>;
    enabled: z.ZodOptional<z.ZodBoolean>;
    sessionTarget: z.ZodOptional<z.ZodEnum<{
        main: "main";
        isolated: "isolated";
    }>>;
    agentId: z.ZodPreprocess<z.ZodOptional<z.ZodUnion<readonly [z.ZodString, z.ZodNull]>>>;
    workingDirectory: z.ZodPreprocess<z.ZodOptional<z.ZodUnion<readonly [z.ZodString, z.ZodNull]>>>;
    payload: z.ZodOptional<z.ZodUnion<readonly [z.ZodObject<{
        kind: z.ZodLiteral<"systemEvent">;
        text: z.ZodString;
    }, z.core.$strip>, z.ZodObject<{
        kind: z.ZodLiteral<"agentTurn">;
        message: z.ZodString;
        model: z.ZodPreprocess<z.ZodOptional<z.ZodString>>;
        timeoutSeconds: z.ZodOptional<z.ZodNumber>;
    }, z.core.$strip>]>>;
    delivery: z.ZodOptional<z.ZodObject<{
        mode: z.ZodDefault<z.ZodEnum<{
            none: "none";
            direct: "direct";
            announce: "announce";
        }>>;
        channel: z.ZodPreprocess<z.ZodOptional<z.ZodString>>;
        to: z.ZodPreprocess<z.ZodOptional<z.ZodString>>;
        bestEffort: z.ZodOptional<z.ZodBoolean>;
    }, z.core.$strip>>;
    model: z.ZodPreprocess<z.ZodOptional<z.ZodString>>;
}, z.core.$strip>;
export type ValidatedJobData = z.infer<typeof JobDataSchema>;
export type ValidatedAddJobRequest = z.infer<typeof AddJobRequestSchema>;
export type ValidatedUpdateJobRequest = z.infer<typeof UpdateJobRequestSchema>;
export type ValidatedCronPayload = z.infer<typeof CronPayloadSchema>;
export type ValidatedCronDelivery = z.infer<typeof CronDeliverySchema>;
export { cronExpression };
