/**
 * olam clean — reap orphan world filesystem state.
 *
 * The "no new orphans" half of the contract:
 *   - destroy.ts → destroyWorld() already calls fs.rmSync on the
 *     workspace dir, but the result is best-effort (try/catch swallows).
 *   - This command audits ~/.olam/worlds/<id>/ against the live
 *     registry + git worktree state, and either lists what's drift
 *     (default, dry-run) or reaps it (`--apply`).
 *
 * Categorisation of each on-disk world:
 *
 *   active     — registry knows about it AND status != destroyed.
 *                Always preserved. Excluded from --apply.
 *
 *   dirty      — git worktree registered AND has uncommitted changes
 *                or unpushed commits. Preserved by default; deletable
 *                via `--include-dirty` (with a final summary list so
 *                the operator sees what's about to disappear).
 *
 *   stale-wt   — git worktree registered but clean (no uncommits, no
 *                unpushed). Reaped via `git worktree remove --force`,
 *                which drops both the registration AND the directory.
 *
 *   orphan     — neither in the registry nor a registered worktree.
 *                Just a directory on disk. Reaped via `rm -rf`.
 *
 * Default invocation prints the table + total reclaimable bytes and
 * exits 0 without touching disk. `--apply` performs the reap.
 */
import type { Command } from 'commander';
interface CleanOptions {
    readonly apply: boolean;
    readonly includeDirty: boolean;
    readonly yes: boolean;
    readonly json: boolean;
}
export declare function registerClean(program: Command): void;
export declare function runClean(opts: CleanOptions): Promise<number>;
export {};
//# sourceMappingURL=clean.d.ts.map