export type CliCommand = { kind: "help"; } | { kind: "drift-help"; } | { kind: "doctor-help"; } | { kind: "version"; } | { kind: "desktop"; } | { kind: "drift"; options: DriftCliOptions; } | { kind: "doctor"; options: DoctorCliOptions; } | { kind: "setup-cursor"; path?: string; } | { kind: "setup-clients"; path?: string; clients: Array<"claude" | "codex" | "cursor">; apply: boolean; } | { kind: "hook"; client: "claude" | "codex" | "cursor"; event: "session" | "post-edit" | "stop"; } | { kind: "workspace-list"; } | { kind: "workspace-register"; path?: string; } | { kind: "workspace-unregister"; workspaceId: string; } | { kind: "serve"; options: ServeCliOptions; }; export interface DriftCliOptions { root?: string; paths: string[]; format: "text" | "json"; check: boolean; writeLedger: boolean; timeoutMs: number; } export interface DoctorCliOptions { root?: string; } export interface ServeCliOptions { transport: "stdio" | "http"; root?: string; host: string; port: number; httpPath: string; allowedHosts: string[]; allowedOrigins: string[]; } export declare class CliUsageError extends Error { readonly exitCode = 2; constructor(message: string); } export declare const CLI_HELP = "KnowledgeRail - local-first MCP project knowledge\n\nUsage:\n knowledge-rail [--transport stdio|http] [--root ]\n [--host ] [--port ]\n [--http-path ] [--allowed-host ]...\n [--allowed-origin ]...\n knowledge-rail workspace list\n knowledge-rail workspace register []\n knowledge-rail workspace unregister \n knowledge-rail setup cursor []\n knowledge-rail setup clients [] [--client claude|codex|cursor]... [--apply]\n knowledge-rail hook --client claude|codex|cursor --event session|post-edit|stop\n knowledge-rail doctor [--root ]\n knowledge-rail drift [--root ] [--path ]...\n [--format text|json] [--check] [--no-ledger]\n [--timeout-ms ]\n knowledge-rail desktop\n knowledge-rail --help\n knowledge-rail --version\n\nThe default transport is stdio. Cursor uses project-scoped setup with an\nexplicit workspace root; cwd-aware IDEs and terminal agents infer the project.\nOnly context-free desktop chats select a catalog workspace."; export declare const DRIFT_CLI_HELP = "KnowledgeRail drift - read-only code-evidence drift check\n\nUsage:\n knowledge-rail drift [--root ] [--path ]...\n [--format text|json] [--check] [--no-ledger]\n [--timeout-ms ]\n\nOptions:\n --root Project override; otherwise discover from cwd.\n --path Repository-relative path or confined absolute path.\n Repeat to check multiple files or directory prefixes.\n --format text|json Text is silent when every checked anchor is fresh.\n --check Exit 2 on non-fresh anchors or timeout.\n --no-ledger Do not write the disposable drift ledger.\n --timeout-ms Runtime limit from 1 to 60000 ms (default: 3000).\n --help Show this help.\n\nWithout --check, completed checks and timeouts exit 0 so agent hooks never block."; export declare const DOCTOR_CLI_HELP = "KnowledgeRail doctor - inspect workspace resolution\n\nUsage:\n knowledge-rail doctor [--root ]\n knowledge-rail doctor --help\n\nOptions:\n --root Project override; otherwise discover safely from cwd.\n\nThis command is read-only and does not start an MCP server or create project files."; export declare function parseCli(args: readonly string[]): CliCommand; //# sourceMappingURL=cli.d.ts.map