import { z } from "zod"; export declare const LoopContextSchema: z.ZodEnum<{ continue: "continue"; fresh: "fresh"; }>; export type LoopContext = z.infer; export declare const LoopOutputSchema: z.ZodDiscriminatedUnion<[z.ZodObject<{ kind: z.ZodLiteral<"none">; }, z.core.$strip>, z.ZodObject<{ kind: z.ZodLiteral<"claim">; }, z.core.$strip>, z.ZodObject<{ kind: z.ZodLiteral<"json">; fields: z.ZodArray; description: z.ZodString; required: z.ZodBoolean; }, z.core.$strip>>; }, z.core.$strip>], "kind">; export type LoopOutput = z.infer; export declare const LoopCheckSchema: z.ZodDiscriminatedUnion<[z.ZodObject<{ kind: z.ZodLiteral<"command">; command: z.ZodString; }, z.core.$strip>, z.ZodObject<{ kind: z.ZodLiteral<"judge">; rubric: z.ZodString; model: z.ZodOptional; }, z.core.$strip>], "kind">; export type LoopCheck = z.infer; export declare const LoopDocumentSchema: z.ZodObject<{ done: z.ZodBoolean; reason: z.ZodString; evidence: z.ZodOptional; data: z.ZodOptional>; }, z.core.$strip>; export type LoopDocument = z.infer; export declare const LoopSchema: z.ZodObject<{ conversationId: z.ZodString; goal: z.ZodString; prompt: z.ZodString; context: z.ZodEnum<{ continue: "continue"; fresh: "fresh"; }>; output: z.ZodDiscriminatedUnion<[z.ZodObject<{ kind: z.ZodLiteral<"none">; }, z.core.$strip>, z.ZodObject<{ kind: z.ZodLiteral<"claim">; }, z.core.$strip>, z.ZodObject<{ kind: z.ZodLiteral<"json">; fields: z.ZodArray; description: z.ZodString; required: z.ZodBoolean; }, z.core.$strip>>; }, z.core.$strip>], "kind">; checks: z.ZodArray; command: z.ZodString; }, z.core.$strip>, z.ZodObject<{ kind: z.ZodLiteral<"judge">; rubric: z.ZodString; model: z.ZodOptional; }, z.core.$strip>], "kind">>; maxIterations: z.ZodNumber; maxSpendUsd: z.ZodOptional; stallLimit: z.ZodNumber; isolated: z.ZodBoolean; agent: z.ZodOptional; harness: z.ZodOptional>; account: z.ZodOptional; model: z.ZodOptional; actsAs: z.ZodOptional; worktreeBase: z.ZodOptional>>; autoLand: z.ZodOptional; }, z.core.$strip>; export type Loop = z.infer; export declare const loopCanConverge: (loop: Pick) => boolean; export declare const LOOP_DIR = ".intentic/records/artifacts/loops"; export declare const LoopIterationSchema: z.ZodObject<{ n: z.ZodNumber; at: z.ZodNumber; outcome: z.ZodEnum<{ continue: "continue"; done: "done"; error: "error"; }>; detail: z.ZodOptional; costUsd: z.ZodOptional; changed: z.ZodBoolean; sessionId: z.ZodOptional; }, z.core.$strip>; export type LoopIteration = z.infer; export declare const LoopStateSchema: z.ZodEnum<{ done: "done"; error: "error"; exhausted: "exhausted"; overspent: "overspent"; running: "running"; stalled: "stalled"; stopped: "stopped"; unpriced: "unpriced"; }>; export type LoopState = z.infer; export declare const LoopRecordSchema: z.ZodObject<{ conversationId: z.ZodString; goal: z.ZodString; prompt: z.ZodString; context: z.ZodEnum<{ continue: "continue"; fresh: "fresh"; }>; output: z.ZodDiscriminatedUnion<[z.ZodObject<{ kind: z.ZodLiteral<"none">; }, z.core.$strip>, z.ZodObject<{ kind: z.ZodLiteral<"claim">; }, z.core.$strip>, z.ZodObject<{ kind: z.ZodLiteral<"json">; fields: z.ZodArray; description: z.ZodString; required: z.ZodBoolean; }, z.core.$strip>>; }, z.core.$strip>], "kind">; checks: z.ZodArray; command: z.ZodString; }, z.core.$strip>, z.ZodObject<{ kind: z.ZodLiteral<"judge">; rubric: z.ZodString; model: z.ZodOptional; }, z.core.$strip>], "kind">>; maxIterations: z.ZodNumber; maxSpendUsd: z.ZodOptional; stallLimit: z.ZodNumber; isolated: z.ZodBoolean; agent: z.ZodOptional; harness: z.ZodOptional>; account: z.ZodOptional; model: z.ZodOptional; actsAs: z.ZodOptional; worktreeBase: z.ZodOptional>>; autoLand: z.ZodOptional; state: z.ZodEnum<{ done: "done"; error: "error"; exhausted: "exhausted"; overspent: "overspent"; running: "running"; stalled: "stalled"; stopped: "stopped"; unpriced: "unpriced"; }>; startedAt: z.ZodNumber; endedAt: z.ZodOptional; resumed: z.ZodNumber; detail: z.ZodOptional; iterations: z.ZodArray; detail: z.ZodOptional; costUsd: z.ZodOptional; changed: z.ZodBoolean; sessionId: z.ZodOptional; }, z.core.$strip>>; }, z.core.$strip>; export type LoopRecord = z.infer; export declare const LoopsListSchema: z.ZodObject<{ loops: z.ZodArray; output: z.ZodDiscriminatedUnion<[z.ZodObject<{ kind: z.ZodLiteral<"none">; }, z.core.$strip>, z.ZodObject<{ kind: z.ZodLiteral<"claim">; }, z.core.$strip>, z.ZodObject<{ kind: z.ZodLiteral<"json">; fields: z.ZodArray; description: z.ZodString; required: z.ZodBoolean; }, z.core.$strip>>; }, z.core.$strip>], "kind">; checks: z.ZodArray; command: z.ZodString; }, z.core.$strip>, z.ZodObject<{ kind: z.ZodLiteral<"judge">; rubric: z.ZodString; model: z.ZodOptional; }, z.core.$strip>], "kind">>; maxIterations: z.ZodNumber; maxSpendUsd: z.ZodOptional; stallLimit: z.ZodNumber; isolated: z.ZodBoolean; agent: z.ZodOptional; harness: z.ZodOptional>; account: z.ZodOptional; model: z.ZodOptional; actsAs: z.ZodOptional; worktreeBase: z.ZodOptional>>; autoLand: z.ZodOptional; state: z.ZodEnum<{ done: "done"; error: "error"; exhausted: "exhausted"; overspent: "overspent"; running: "running"; stalled: "stalled"; stopped: "stopped"; unpriced: "unpriced"; }>; startedAt: z.ZodNumber; endedAt: z.ZodOptional; resumed: z.ZodNumber; detail: z.ZodOptional; iterations: z.ZodArray; detail: z.ZodOptional; costUsd: z.ZodOptional; changed: z.ZodBoolean; sessionId: z.ZodOptional; }, z.core.$strip>>; }, z.core.$strip>>; }, z.core.$strip>; export declare const LoopIdParamSchema: z.ZodObject<{ conversationId: z.ZodString; }, z.core.$strip>; export declare const LoopDesignSchema: z.ZodObject<{ id: z.ZodString; name: z.ZodString; description: z.ZodOptional; prompt: z.ZodOptional; context: z.ZodEnum<{ continue: "continue"; fresh: "fresh"; }>; output: z.ZodDiscriminatedUnion<[z.ZodObject<{ kind: z.ZodLiteral<"none">; }, z.core.$strip>, z.ZodObject<{ kind: z.ZodLiteral<"claim">; }, z.core.$strip>, z.ZodObject<{ kind: z.ZodLiteral<"json">; fields: z.ZodArray; description: z.ZodString; required: z.ZodBoolean; }, z.core.$strip>>; }, z.core.$strip>], "kind">; checks: z.ZodArray; command: z.ZodString; }, z.core.$strip>, z.ZodObject<{ kind: z.ZodLiteral<"judge">; rubric: z.ZodString; model: z.ZodOptional; }, z.core.$strip>], "kind">>; maxIterations: z.ZodNumber; maxSpendUsd: z.ZodOptional; stallLimit: z.ZodNumber; }, z.core.$strip>; export type LoopDesign = z.infer; export declare const LoopDesignsListSchema: z.ZodObject<{ designs: z.ZodArray; prompt: z.ZodOptional; context: z.ZodEnum<{ continue: "continue"; fresh: "fresh"; }>; output: z.ZodDiscriminatedUnion<[z.ZodObject<{ kind: z.ZodLiteral<"none">; }, z.core.$strip>, z.ZodObject<{ kind: z.ZodLiteral<"claim">; }, z.core.$strip>, z.ZodObject<{ kind: z.ZodLiteral<"json">; fields: z.ZodArray; description: z.ZodString; required: z.ZodBoolean; }, z.core.$strip>>; }, z.core.$strip>], "kind">; checks: z.ZodArray; command: z.ZodString; }, z.core.$strip>, z.ZodObject<{ kind: z.ZodLiteral<"judge">; rubric: z.ZodString; model: z.ZodOptional; }, z.core.$strip>], "kind">>; maxIterations: z.ZodNumber; maxSpendUsd: z.ZodOptional; stallLimit: z.ZodNumber; }, z.core.$strip>>; }, z.core.$strip>; export declare const LoopDesignSaveSchema: z.ZodObject<{ design: z.ZodObject<{ id: z.ZodString; name: z.ZodString; description: z.ZodOptional; prompt: z.ZodOptional; context: z.ZodEnum<{ continue: "continue"; fresh: "fresh"; }>; output: z.ZodDiscriminatedUnion<[z.ZodObject<{ kind: z.ZodLiteral<"none">; }, z.core.$strip>, z.ZodObject<{ kind: z.ZodLiteral<"claim">; }, z.core.$strip>, z.ZodObject<{ kind: z.ZodLiteral<"json">; fields: z.ZodArray; description: z.ZodString; required: z.ZodBoolean; }, z.core.$strip>>; }, z.core.$strip>], "kind">; checks: z.ZodArray; command: z.ZodString; }, z.core.$strip>, z.ZodObject<{ kind: z.ZodLiteral<"judge">; rubric: z.ZodString; model: z.ZodOptional; }, z.core.$strip>], "kind">>; maxIterations: z.ZodNumber; maxSpendUsd: z.ZodOptional; stallLimit: z.ZodNumber; }, z.core.$strip>; create: z.ZodBoolean; }, z.core.$strip>; export declare const LoopDesignIdParamSchema: z.ZodObject<{ id: z.ZodString; }, z.core.$strip>; export declare const loopFromDesign: (design: LoopDesign, aim: { conversationId: string; goal: string; isolated: boolean; }) => Loop; export declare const loopDesignLine: (design: LoopDesign) => string; //# sourceMappingURL=loops.d.ts.map