import type { FilesystemProvider } from "../infra/filesystem-provider.js"; declare const RECORD_SCHEMA = "synth-decision-v1"; export type MissionDecisionType = "MISSION_APPROVAL_APPROVED" | "MISSION_APPROVAL_REJECTED" | "MISSION_DRAFT_INTEGRITY_REJECTED"; export type MissionDecision = { schema: typeof RECORD_SCHEMA; id: string; type: MissionDecisionType; draftId: string; reason?: string; confidence?: number; snapshotId?: string; previousHash: string; timestamp: number; }; export type DecisionInput = { type: MissionDecisionType; draftId: string; reason?: string; confidence?: number; snapshotId?: string; }; export type DecisionLogRead = { records: MissionDecision[]; chainValid: boolean; }; /** * Verify chain continuity: exactly one genesis record, one successor * per record, and every record reachable from genesis. */ export declare function verifyDecisionChain(records: MissionDecision[]): boolean; /** * Append a decision to the record. Fails closed: a broken chain is * never extended silently. */ export declare function appendDecision(dataDir: string, input: DecisionInput, fsProvider?: FilesystemProvider): Promise; /** Read the record, optionally filtered to one draft. */ export declare function listDecisions(dataDir: string, draftId?: string, fsProvider?: FilesystemProvider): Promise; /** Latest decision of a type for a draft, or undefined. */ export declare function latestDecision(dataDir: string, draftId: string, type: MissionDecisionType, fsProvider?: FilesystemProvider): Promise; export {};