import type { AdoptionPlan, InitializeRecord } from './adoption-plan.js'; import type { DoctorReport } from '../doctor/types.js'; export interface ApplyResult { initialized: boolean; marked_completed: string[]; reopened: string[]; recorded_pending: string[]; audit_records: number; /** D10a: honest-re-verification warnings — a mapped step whose detect: * contract (or outputs) still didn't pass after the mapping was written. * The step is left pending, never falsely completed/verified. */ warnings: string[]; doctor: DoctorReport; } /** * Write exactly the config.yml payload the approved plan rendered (D2). * Preserves unrelated keys of an existing config.yml; clears stale typed-config * blocks when the project type changed. */ export declare function writeInitializeConfig(projectRoot: string, initialize: InitializeRecord): void; /** * D10a apply: persist approved map-candidate dispositions into * .scaffold/config.yml `artifact_map`. AST edit (comments and existing * content preserved), atomic write. Callers must only pass mappings the * approved plan showed (plan_key enforcement happens in the apply driver, * i.e. the CLI layer's re-render-and-compare before applyAdoptionPlan is * ever invoked). Writing the mapping is a durable curation decision on its * own — it does not imply the step verifies; that is a separate, honest * re-verification (see applyAdoptionPlan below). */ export declare function applyArtifactMappings(projectRoot: string, mappings: ReadonlyArray<{ step: string; target: string; }>): void; /** * Execute an approved Adoption Plan (D1/D2/D3). The caller has already * re-rendered against live reality and verified the plan_key — this function * only performs the writes the plan's apply-action records describe, then * closes with a doctor pass (Terraform's "done = clean plan" criterion). */ export declare function applyAdoptionPlan(options: { projectRoot: string; plan: AdoptionPlan; scaffoldVersion: string; }): Promise; //# sourceMappingURL=adoption-apply.d.ts.map