import type { Reviewer } from "./review-gates.js"; import type { Proposal, ProposalEvaluationRuleSet, EvaluationResult } from "./proposal-evaluation/types.js"; export type DivergenceGateDecision = "aligned" | "revision_required" | "rejected" | "superseded"; export type DivergenceGateStatus = "draft" | "awaiting_alignment" | "aligned" | "revision_required" | "rejected" | "superseded"; export type DivergenceReport = { id: string; gateId: string; contractId: string; intentModelId: string; knownDivergence: string[]; acceptedDivergence: string[]; rejectedDivergence: string[]; reviewer: Reviewer; decision: DivergenceGateDecision; reason: string; evidence: string[]; timestamp: number; }; export type DivergenceGate = { id: string; contractId: string; intentModelId: string; status: DivergenceGateStatus; reportId?: string; createdAt: number; resolvedAt?: number; }; export declare class DivergenceGateError extends Error { constructor(message: string); } /** Open a Divergence Gate for an Alignment Contract. */ export declare function openDivergenceGate(contractId: string, intentModelId: string): DivergenceGate; /** Resolve a Divergence Gate with a decision and report. */ export declare function resolveDivergenceGate(gate: DivergenceGate, decision: DivergenceGateDecision, reviewer: Reviewer, reason: string, evidence?: string[], knownDivergence?: string[], acceptedDivergence?: string[], rejectedDivergence?: string[]): { gate: DivergenceGate; report: DivergenceReport; }; /** Check whether a contract is aligned and allows Mission creation. */ export declare function isAligned(gate: DivergenceGate): boolean; /** * Resolve a Divergence Gate by evaluating a proposal against the Alignment Contract. * * This consumes the Proposal Evaluation Capability. The reviewer still authorizes the * resolution, but the decision is derived deterministically from the proposal, contract, * and rule set. */ export declare function resolveDivergenceGateWithProposalEvaluation(gate: DivergenceGate, proposal: Proposal, contract: import("./alignment-contract.js").AlignmentContract, ruleSet: ProposalEvaluationRuleSet, reviewer: Reviewer, knownDivergence?: string[], acceptedDivergence?: string[], rejectedDivergence?: string[]): { gate: DivergenceGate; report: DivergenceReport; evaluation: EvaluationResult; };