import { CliOutputMode } from "../shared/outfitter-fhahf9f3.js"; import { Result } from "@outfitter/contracts"; /** Options for the action registry completeness scanner. */ interface CheckActionRegistryOptions { /** Workspace root used to locate the commands and actions directories. */ readonly cwd: string; } /** Result of the action registry completeness scan. */ interface CheckActionRegistryResult { /** Resolved path to the scanned actions directory. */ readonly actionsDir: string; /** Resolved path to the scanned commands directory. */ readonly commandsDir: string; /** True when every command file is referenced by an action definition. */ readonly ok: boolean; /** Command files referenced by at least one action definition. */ readonly registered: readonly string[]; /** Number of registered command files. */ readonly registeredCount: number; /** Total number of command files scanned. */ readonly totalCommands: number; /** Command files not referenced by any action definition. */ readonly unregistered: readonly string[]; /** Number of unregistered command files. */ readonly unregisteredCount: number; } /** Error raised when the action registry scan cannot complete. */ declare class CheckActionRegistryError extends Error { readonly _tag: "CheckActionRegistryError"; constructor(message: string, options?: { cause?: unknown; }); } /** * Scan the actual action registry and cross-reference against command files. * * Parses the `createActionRegistry().add()` chain in `actions.ts` to determine * which action symbols are registered, traces them back to their source action * definition files, and extracts which command files those definitions import. * Returns per-file classification (with relative paths) and an aggregate pass/fail. */ declare function runCheckActionRegistry(options: CheckActionRegistryOptions): Promise>; /** * Render action registry scan results to stdout/stderr. * * Emits JSON/JSONL for structured modes or a human-readable summary * listing any unregistered command files. */ declare function printCheckActionRegistryResult(result: CheckActionRegistryResult, options?: { mode?: CliOutputMode; }): Promise; export { runCheckActionRegistry, printCheckActionRegistryResult, CheckActionRegistryResult, CheckActionRegistryOptions, CheckActionRegistryError };