import type { PlanningProposal } from './planningProtocol';
/**
 * A fully rendered change retained in memory until the user explicitly saves it.
 * @private internal type of `coder plan`
 */
export type PlanningChange = {
    readonly path: string;
    readonly before: string | null;
    readonly after: string;
    readonly draft: string;
};
/**
 * Prepares an entire proposal set without writing. Exact replacements preserve unrelated content and line endings.
 * @private internal utility of `coder plan`
 */
export declare function preparePlanningChanges(projectPath: string, proposals: ReadonlyArray<PlanningProposal>, templateOption: string | undefined): Promise<PlanningChange[]>;
