import type { InferenceProposal } from "../inference/inference-cycle.js"; export interface ApplyResult { proposalId: string; success: boolean; filesChanged?: string[]; details?: string[]; error?: string; } export type CodeChangeCallback = (proposal: InferenceProposal) => Promise; export type ReviewCallback = (proposal: InferenceProposal, prUrl: string) => Promise<"go" | "no-go" | "modify">; export declare class ProposalApplier { private projectRoot; private codeChangeCallback?; private reviewCallback?; constructor(projectRoot?: string, codeChangeCallback?: CodeChangeCallback | undefined, reviewCallback?: ReviewCallback | undefined); applyProposals(proposals: InferenceProposal[]): Promise; private applyProposal; private applyCodification; private isInsideGitRepo; private getAppliedMarkerPath; private recordAppliedProposal; private createPR; } export declare const proposalApplier: ProposalApplier;