/** * `totem doctor --estate` — the worktree-estate sensor's surface * (mmnto-ai/totem#2580 slice-1). * * Report-only by construction: the scan reads, this file renders, and neither * removes anything (removal verbs are a later slice). Exit stays 0 in every * sensor outcome — a husk, a stale worktree, and a failed probe are all * findings to show, not gate failures. * * Two surfaces, never both: the human render goes to stderr via the shared ui * log helpers, and `--json` replaces it wholesale with a diffable artifact that * owns stdout (the doctor-parity.ts:1507 verdict-artifact discipline — * kebab-case keys, no `json-output.ts` envelope, `estate-schema-version` as the * compatibility contract with the status lane). * * Core is dynamic-imported so `@mmnto/totem` stays off the CLI cold-start * graph, matching every other doctor check. */ import type { EstateExecFn, TotemRegistry } from '@mmnto/totem'; export interface EstateCliOptions { /** * Emit the scan as the JSON artifact on stdout INSTEAD of the human render. * The artifact is diffable, so nothing else may share stdout. */ json?: boolean; /** Extra sweep roots (`--root`, repeatable), resolved against the cwd. */ roots?: string[]; /** Test seam — production callers omit and the command uses `process.cwd()`. */ cwdForTest?: string; /** Test seam — bypasses the user-level `~/.totem/registry.json` read. */ registryForTest?: TotemRegistry; /** Test seam — canned git, so the render is testable without a real estate. */ execForTest?: EstateExecFn; /** Test seam — pins `derivedAt` and every `age-days` value. */ nowForTest?: number; /** * Test seam — bypasses the user-level `~/.totem/worktrees.json` read that * supplies the wt-registry's recorded container roots. */ wtRootsForTest?: string[]; } export declare function doctorEstateCliCommand(options?: EstateCliOptions): Promise; //# sourceMappingURL=doctor-estate.d.ts.map