import type { DurableJournal } from "@claudexor/journal"; export interface OperatorDecisionRecord { runId: string; action: "accept_risk" | "override_needs_human"; findingIds: string[]; acceptedRisks: string[]; patchSha256: string; decidedAt: string; } export interface RecordedOperatorDecision { record: OperatorDecisionRecord; reused: boolean; } /** Journal authority for the human decision that may unblock one exact run patch. */ export declare class OperatorDecisionStore { private readonly journal; private readonly byRun; private readonly byKey; constructor(journal: DurableJournal); get(runId: string): OperatorDecisionRecord | null; findByIdempotency(runId: string, idempotency: { key: string; client: string; request: unknown; }): OperatorDecisionRecord | null; record(input: OperatorDecisionRecord, idempotency?: { key: string; client: string; request: unknown; }): RecordedOperatorDecision; validateProjection(): void; private apply; } export declare function operatorDecisionProjection(): { name: string; create: (journal: DurableJournal) => OperatorDecisionStore; validate: (store: OperatorDecisionStore) => void; }; //# sourceMappingURL=operator-decisions.d.ts.map