import type { LearningDecision } from "../autonomy/contracts.ts"; export type DurableChangeLayer = "memory" | "skill" | "prompt" | "extension" | "tool" | "script" | "settings" | "source"; export interface DurableChangeProposal { id: string; layer: DurableChangeLayer; summary: string; evidenceIds?: readonly string[]; rollbackPlan?: string; } export interface LearningGateSettings { enabled: boolean; autoApplyEnabled: boolean; confidenceThreshold: number; minObservations: number; allowedAutoApplyLayers: readonly DurableChangeLayer[]; requireRollbackPlan?: boolean; requireEvidence?: boolean; /** default: false — a memory_replace/memory_remove (supersedes/deletes an existing fact) stays an * approval-gated proposal even when otherwise eligible, unless explicitly opted in. */ autoApplySupersessions?: boolean; } export declare function evaluateLearningDecision(args: { proposal: DurableChangeProposal; confidence: number; observations: number; contradictions: number; settings: LearningGateSettings; now?: string; }): LearningDecision; export declare function isLearningDecision(value: unknown): value is LearningDecision; export declare function cloneLearningDecisionForStorage(decision: LearningDecision): LearningDecision; //# sourceMappingURL=learning-gate.d.ts.map