/**
 * Zod schemas for heartbeat task persistence.
 *
 * These schemas own the on-disk JSON contract for heartbeat tasks and run
 * records. Checkpoints are still parsed with a minimal runtime shape because
 * the runtime loop does not yet expose a full checkpoint schema.
 */
import { z } from 'zod';
export declare const HeartbeatTaskStatusSchema: z.ZodEnum<{
    failed: "failed";
    running: "running";
    blocked: "blocked";
    complete: "complete";
    idle: "idle";
    waiting: "waiting";
}>;
export declare const HeartbeatDecisionSchema: z.ZodEnum<{
    continue: "continue";
    pause: "pause";
    complete: "complete";
    escalate: "escalate";
}>;
export declare const HeartbeatTaskContinuationModeSchema: z.ZodEnum<{
    operator: "operator";
    agent: "agent";
}>;
export declare const HeartbeatTaskSchema: z.ZodObject<{
    id: z.ZodString;
    workspaceId: z.ZodOptional<z.ZodString>;
    task: z.ZodString;
    name: z.ZodOptional<z.ZodString>;
    enabled: z.ZodBoolean;
    continuationMode: z.ZodDefault<z.ZodEnum<{
        operator: "operator";
        agent: "agent";
    }>>;
    checkpointPath: z.ZodOptional<z.ZodString>;
    schedule: z.ZodObject<{
        intervalMs: z.ZodNumber;
        nextRunAt: z.ZodOptional<z.ZodString>;
    }, z.core.$strip>;
    runtime: z.ZodOptional<z.ZodObject<{
        model: z.ZodOptional<z.ZodString>;
        maxSteps: z.ZodOptional<z.ZodNumber>;
        workspaceRoot: z.ZodOptional<z.ZodString>;
        stateDir: z.ZodOptional<z.ZodString>;
        memoryDir: z.ZodOptional<z.ZodString>;
        searchIgnoreDirs: z.ZodOptional<z.ZodArray<z.ZodString>>;
        systemContext: z.ZodOptional<z.ZodString>;
    }, z.core.$strip>>;
    state: z.ZodOptional<z.ZodObject<{
        status: z.ZodEnum<{
            failed: "failed";
            running: "running";
            blocked: "blocked";
            complete: "complete";
            idle: "idle";
            waiting: "waiting";
        }>;
        progress: z.ZodOptional<z.ZodString>;
        runId: z.ZodOptional<z.ZodString>;
        runAt: z.ZodOptional<z.ZodString>;
        loadedCheckpoint: z.ZodOptional<z.ZodBoolean>;
        resumable: z.ZodBoolean;
        result: z.ZodOptional<z.ZodLazy<z.ZodObject<{
            decision: z.ZodEnum<{
                continue: "continue";
                pause: "pause";
                complete: "complete";
                escalate: "escalate";
            }>;
            summary: z.ZodString;
            checkpoint: z.ZodObject<{
                version: z.ZodLiteral<1>;
                runId: z.ZodString;
                createdAt: z.ZodString;
                state: z.ZodObject<{
                    runId: z.ZodString;
                    status: z.ZodString;
                    transcript: z.ZodArray<z.ZodUnknown>;
                    trace: z.ZodArray<z.ZodUnknown>;
                }, z.core.$loose>;
            }, z.core.$loose>;
            state: z.ZodObject<{
                runId: z.ZodString;
                finishedAt: z.ZodString;
                outcome: z.ZodString;
                usage: z.ZodOptional<z.ZodObject<{
                    inputTokens: z.ZodNumber;
                    outputTokens: z.ZodNumber;
                    totalTokens: z.ZodNumber;
                    cachedInputTokens: z.ZodOptional<z.ZodNumber>;
                    reasoningTokens: z.ZodOptional<z.ZodNumber>;
                    requests: z.ZodOptional<z.ZodNumber>;
                }, z.core.$loose>>;
            }, z.core.$loose>;
        }, z.core.$loose>>>;
        error: z.ZodOptional<z.ZodString>;
        updatedAt: z.ZodOptional<z.ZodString>;
    }, z.core.$strip>>;
}, z.core.$strip>;
export declare const AgentLoopCheckpointSchema: z.ZodObject<{
    version: z.ZodLiteral<1>;
    runId: z.ZodString;
    createdAt: z.ZodString;
    state: z.ZodObject<{
        runId: z.ZodString;
        status: z.ZodString;
        transcript: z.ZodArray<z.ZodUnknown>;
        trace: z.ZodArray<z.ZodUnknown>;
    }, z.core.$loose>;
}, z.core.$loose>;
export declare const HeartbeatTaskRunRecordSchema: z.ZodObject<{
    task: z.ZodObject<{
        id: z.ZodString;
        workspaceId: z.ZodOptional<z.ZodString>;
        task: z.ZodString;
        name: z.ZodOptional<z.ZodString>;
        enabled: z.ZodBoolean;
        continuationMode: z.ZodDefault<z.ZodEnum<{
            operator: "operator";
            agent: "agent";
        }>>;
        checkpointPath: z.ZodOptional<z.ZodString>;
        schedule: z.ZodObject<{
            intervalMs: z.ZodNumber;
            nextRunAt: z.ZodOptional<z.ZodString>;
        }, z.core.$strip>;
        runtime: z.ZodOptional<z.ZodObject<{
            model: z.ZodOptional<z.ZodString>;
            maxSteps: z.ZodOptional<z.ZodNumber>;
            workspaceRoot: z.ZodOptional<z.ZodString>;
            stateDir: z.ZodOptional<z.ZodString>;
            memoryDir: z.ZodOptional<z.ZodString>;
            searchIgnoreDirs: z.ZodOptional<z.ZodArray<z.ZodString>>;
            systemContext: z.ZodOptional<z.ZodString>;
        }, z.core.$strip>>;
        state: z.ZodOptional<z.ZodObject<{
            status: z.ZodEnum<{
                failed: "failed";
                running: "running";
                blocked: "blocked";
                complete: "complete";
                idle: "idle";
                waiting: "waiting";
            }>;
            progress: z.ZodOptional<z.ZodString>;
            runId: z.ZodOptional<z.ZodString>;
            runAt: z.ZodOptional<z.ZodString>;
            loadedCheckpoint: z.ZodOptional<z.ZodBoolean>;
            resumable: z.ZodBoolean;
            result: z.ZodOptional<z.ZodLazy<z.ZodObject<{
                decision: z.ZodEnum<{
                    continue: "continue";
                    pause: "pause";
                    complete: "complete";
                    escalate: "escalate";
                }>;
                summary: z.ZodString;
                checkpoint: z.ZodObject<{
                    version: z.ZodLiteral<1>;
                    runId: z.ZodString;
                    createdAt: z.ZodString;
                    state: z.ZodObject<{
                        runId: z.ZodString;
                        status: z.ZodString;
                        transcript: z.ZodArray<z.ZodUnknown>;
                        trace: z.ZodArray<z.ZodUnknown>;
                    }, z.core.$loose>;
                }, z.core.$loose>;
                state: z.ZodObject<{
                    runId: z.ZodString;
                    finishedAt: z.ZodString;
                    outcome: z.ZodString;
                    usage: z.ZodOptional<z.ZodObject<{
                        inputTokens: z.ZodNumber;
                        outputTokens: z.ZodNumber;
                        totalTokens: z.ZodNumber;
                        cachedInputTokens: z.ZodOptional<z.ZodNumber>;
                        reasoningTokens: z.ZodOptional<z.ZodNumber>;
                        requests: z.ZodOptional<z.ZodNumber>;
                    }, z.core.$loose>>;
                }, z.core.$loose>;
            }, z.core.$loose>>>;
            error: z.ZodOptional<z.ZodString>;
            updatedAt: z.ZodOptional<z.ZodString>;
        }, z.core.$strip>>;
    }, z.core.$strip>;
    result: z.ZodObject<{
        decision: z.ZodEnum<{
            continue: "continue";
            pause: "pause";
            complete: "complete";
            escalate: "escalate";
        }>;
        summary: z.ZodString;
        checkpoint: z.ZodObject<{
            version: z.ZodLiteral<1>;
            runId: z.ZodString;
            createdAt: z.ZodString;
            state: z.ZodObject<{
                runId: z.ZodString;
                status: z.ZodString;
                transcript: z.ZodArray<z.ZodUnknown>;
                trace: z.ZodArray<z.ZodUnknown>;
            }, z.core.$loose>;
        }, z.core.$loose>;
        state: z.ZodObject<{
            runId: z.ZodString;
            finishedAt: z.ZodString;
            outcome: z.ZodString;
            usage: z.ZodOptional<z.ZodObject<{
                inputTokens: z.ZodNumber;
                outputTokens: z.ZodNumber;
                totalTokens: z.ZodNumber;
                cachedInputTokens: z.ZodOptional<z.ZodNumber>;
                reasoningTokens: z.ZodOptional<z.ZodNumber>;
                requests: z.ZodOptional<z.ZodNumber>;
            }, z.core.$loose>>;
        }, z.core.$loose>;
    }, z.core.$loose>;
    loadedCheckpoint: z.ZodBoolean;
}, z.core.$strip>;
//# sourceMappingURL=schemas.d.ts.map