import type { TreeIdentity, TreeMonitoringProof, VerificationFailure } from "./results.js"; export interface TreeSnapshot { identity: TreeIdentity; clean: boolean; gitPath: string; excludesFile?: string; } export type TreeCheck = { ok: true; snapshot: TreeSnapshot; } | { ok: false; failure: VerificationFailure; }; export type TreeMonitor = { ok: true; changed: () => boolean; untrackedPaths: () => readonly string[]; drain: () => Promise; monitoring: () => TreeMonitoringProof; stop: () => void; } | { ok: false; failure: VerificationFailure; }; /** Resolve and freeze the explicit target worktree and expected commit. */ export declare function inspectTree(worktreePath: string, expectedCommit: string, options?: { allowUntracked?: boolean; excludesFile?: string | undefined; }): Promise; /** Verify that no tracked/untracked mutation or commit movement occurred. */ export declare function verifyTreeUnchanged(snapshot: TreeSnapshot): Promise; /** Watch the selected tree while evidence runs, including nested tracked paths. */ export declare function monitorTree(snapshot: TreeSnapshot): Promise; export declare function resolveSpecPath(worktreePath: string, authoredPath: string): string;