import { z } from 'zod'; export declare const learningTargetSchema: z.ZodObject<{ skillName: z.ZodString; evaluatorRevision: z.ZodString; baselineRevision: z.ZodUnion<[z.ZodLiteral<"none">, z.ZodString]>; }, "strip", z.ZodTypeAny, { baselineRevision: string; skillName: string; evaluatorRevision: string; }, { baselineRevision: string; skillName: string; evaluatorRevision: string; }>; export declare const learningObservationSchema: z.ZodObject<{ skillName: z.ZodString; evaluatorRevision: z.ZodString; baselineRevision: z.ZodUnion<[z.ZodLiteral<"none">, z.ZodString]>; } & { /** The session whose log holds the observed turn. */ sessionId: z.ZodEffects; /** The observed turn; one observation per (session, turn, evaluator, skill). */ turnId: z.ZodEffects; /** Stable task identity, including input/source revision; retries keep the same key. */ taskKey: z.ZodString; outcome: z.ZodEnum<["passed", "failed", "execution-error", "unresolved"]>; /** Host verified all execution receipts have settled. This is not a model assertion. */ usageComplete: z.ZodBoolean; evidence: z.ZodObject<{ key: z.ZodString; source: z.ZodString; reason: z.ZodString; }, "strip", z.ZodTypeAny, { source: string; key: string; reason: string; }, { source: string; key: string; reason: string; }>; trace: z.ZodString; }, "strip", z.ZodTypeAny, { sessionId: string; turnId: string; trace: string; outcome: "unresolved" | "failed" | "passed" | "execution-error"; baselineRevision: string; evidence: { source: string; key: string; reason: string; }; usageComplete: boolean; skillName: string; evaluatorRevision: string; taskKey: string; }, { sessionId: string; turnId: string; trace: string; outcome: "unresolved" | "failed" | "passed" | "execution-error"; baselineRevision: string; evidence: { source: string; key: string; reason: string; }; usageComplete: boolean; skillName: string; evaluatorRevision: string; taskKey: string; }>; /** @experimental Host-scored observation; failures need retained traces and a versioned evaluator. */ export type ResidentLearningObservation = Readonly, 'evidence'>> & { readonly evidence: Readonly['evidence']>; }; /** @experimental Current evaluator and installed skill revision authorized for one experiment. */ export type ResidentLearningTarget = Readonly>; /** @experimental Stable insertion order; a claimed cycle may have no live executor. */ export interface ResidentLearningObservationRecord extends ResidentLearningObservation { readonly ordinal: number; readonly attemptedCycleId: string | null; } //# sourceMappingURL=learning-observation.d.ts.map