export interface UpgradePlan { /** Files that exist in old but not in new — should we delete them? */ removed: string[]; /** Files that are new in the upstream template. Safe to add. */ added: string[]; /** Files where the upstream version differs from what was generated. */ changed: Array<{ path: string; /** 'clean' = local matches old (safe overwrite); 'conflict' = local diverged. */ kind: 'clean' | 'conflict'; }>; } /** * Compute the upgrade plan without applying anything. * * @param projectDir — root of the harness install * @param newFiles — fingerprint map for the LATEST template render */ export declare function planUpgrade(projectDir: string, newFiles: Record): Promise; /** * Render a plan as a human-readable summary. */ export declare function formatPlan(plan: UpgradePlan): string; /** * Write Git-style inline conflict markers into the local file. * Used when planUpgrade reports a 'conflict' entry and the user wants * inline markers (the default). */ export declare function inlineConflictMarkers(local: string, upstream: string): string; /** * Apply an upgrade plan. Returns the list of paths actually modified. * Best-effort — caller should review the plan first via formatPlan(). */ export declare function applyPlan(projectDir: string, plan: UpgradePlan, newContents: Record, opts?: { conflictStyle?: 'inline' | 'rej'; }): Promise; //# sourceMappingURL=upgrade.d.ts.map