export interface EjectPlan { /** Source ruflo project root. */ source: string; /** New harness name (kebab-case). */ newName: string; /** Files we'd copy + rewrite, relative to source. */ files: string[]; /** Files we'd skip on purpose (with reason). */ skipped: Array<{ path: string; reason: string; }>; } /** * Plan an eject without performing the copy. Useful for previewing what * would happen. */ export declare function planEject(source: string, newName: string): Promise; /** * Rewrite content: every ruflo/claude-flow name reference becomes the new * harness name. Skips ATTRIBUTION blocks (marked with HTML comments) so * the user can keep "Powered by ruflo" if they want. */ export declare function rewriteContent(content: string, newName: string): string; /** * Apply an eject plan. Copies each file with rewrite, then writes a * .harness/manifest.json marking the harness as ejected from . */ export declare function applyEject(plan: EjectPlan, targetDir: string, generatorVersion: string): Promise<{ written: string[]; manifestPath: string; }>; //# sourceMappingURL=eject.d.ts.map