import { type CodeValidationExecutor } from "./code/worktree.ts"; import type { EvoPaths } from "./paths.ts"; import { BundleRegistry } from "./registry/registry.ts"; import type { DataApprovalActivation, EvidenceReference, Proposal, ProposalApproval, ProposalTier, ReplayScenario } from "./types.ts"; export interface DraftChange { path: string; content: string | null; } export interface DraftProposal { motivation: string; expectedEffect: string; risk: string; verifyPlan: string; trialPlan: string; source: "pattern" | "explicit-request"; evidence: EvidenceReference[]; inboxReferences: string[]; replayScenarios: ReplayScenario[]; targetAbi?: string; requiresNewAbi?: boolean; suggestedTier?: ProposalTier; changes?: DraftChange[]; codePatch?: string; } export interface ReflectorOutput { observationsMarkdown: string; observationEvidence: EvidenceReference[]; proposals: DraftProposal[]; } export declare function parseReflectorOutput(text: string): ReflectorOutput; export declare function parseReflectorOutputValue(value: unknown): ReflectorOutput; export declare function stageProposal(options: { paths: EvoPaths; parentDigest: string; draft: DraftProposal; observationsMarkdown: string; repositoryCwd?: string; expectedCodeBase?: { repositoryRoot: string; repositoryIdentity: string; baseCommit: string; }; codeValidationExecutor?: CodeValidationExecutor; signal?: AbortSignal; }): Promise; export declare function loadProposal(paths: EvoPaths, id: string): Promise; export declare function saveProposal(paths: EvoPaths, proposal: Proposal): Promise; export declare function attachProposalArtifact(options: { paths: EvoPaths; proposalId: string; expected: ProposalApproval; kind: "review" | "replay" | "validation"; content: string; allowedStatuses: readonly Proposal["status"][]; }): Promise; export declare function attachRetrospectiveArtifact(options: { paths: EvoPaths; proposalId: string; expected: ProposalApproval; content: string; evidenceDigest: string; evidenceCutoff: string; }): Promise; export declare function assertProposalApproval(proposal: Proposal, expected: ProposalApproval): void; export declare function proposalApproval(proposal: Proposal): ProposalApproval; export declare function reviseProposal(options: { paths: EvoPaths; id: string; expected: ProposalApproval; draft: DraftProposal; observationsMarkdown: string; repositoryCwd?: string; codeValidationExecutor?: CodeValidationExecutor; }): Promise; export declare function approveProposal(paths: EvoPaths, id: string, expected: ProposalApproval, codeValidationExecutor?: CodeValidationExecutor, registry?: BundleRegistry, idempotencyKey?: string, expectedStateDigest?: string, dataActivation?: DataApprovalActivation): Promise; export declare function rejectProposal(paths: EvoPaths, id: string, reason: string, registry?: BundleRegistry, idempotencyKey?: string, expectedStateDigest?: string): Promise; export declare function deferProposal(paths: EvoPaths, id: string, reason: string, until?: string, registry?: BundleRegistry, idempotencyKey?: string, expectedStateDigest?: string): Promise; export declare function reopenProposal(paths: EvoPaths, id: string, reason: string, registry?: BundleRegistry, idempotencyKey?: string, expectedStateDigest?: string): Promise; //# sourceMappingURL=proposal.d.ts.map