/**
* V3 CLI Eject Command — ADR-150 Phase-2 differentiator.
*
* Lifts the calling ruflo/claude-flow project into a renamed standalone
* harness using `metaharness --from-existing
`. Attribution to
* ruflo is preserved via the upstream's ``
* convention.
*
* npx ruflo eject --name my-harness # dry-run plan
* npx ruflo eject --name my-harness --confirm # actually eject
* npx ruflo eject --name my-harness --target /abs/out --confirm
*
* SAFETY GATES (load-bearing)
* 1. Dry-run by default. `--confirm` required for any disk write.
* 2. `--target` MUST resolve OUTSIDE the calling repo root. Default
* is `/tmp/ruflo-eject--/`. Writing to the calling repo
* is refused with exit 2 — protects the user from `cwd: $ruflo`
* eject accidents.
* 3. Refuses existing target dirs (no overwrites).
* 4. Subprocess + 10-minute hard timeout. No library import; no
* static `@metaharness/*` dependency.
*
* ADR-150 ARCHITECTURAL CONSTRAINT
* When metaharness is unavailable (offline, no network), the command
* exits 0 with a structured "feature not available" message. Ruflo
* continues to function — rule #3 (graceful degradation).
*
* Created with ruv.io
*/
import type { Command } from '../types.js';
export declare const ejectCommand: Command;
export default ejectCommand;
//# sourceMappingURL=eject.d.ts.map