import type { CommandIO, CommandResult } from '../services/io.js'; /** * `cadence mcp install` (phase 78) — paste-free wiring of the MCP server into a * host. Pure merge/snippet helpers + a thin file-I/O service. Deliberately * SDK-free: registering this command must not load `@modelcontextprotocol/sdk` * (only `mcp serve` does). */ export type McpClient = 'claude-code' | 'claude-desktop' | 'cursor'; export declare const MCP_CLIENTS: readonly McpClient[]; export declare const CADENCE_MCP_ENTRY: { readonly command: "cadence"; readonly args: readonly ["mcp", "serve"]; }; /** * Merge the cadence server entry into existing `.mcp.json` text (or create * fresh when null). Non-destructive: preserves unknown top-level keys and any * existing `mcpServers`; only the `cadence` key is set. Idempotent. Throws on * malformed / non-object JSON (the caller must not overwrite in that case). */ export declare function mergeMcpConfig(existing: string | null): string; /** The paste-ready snippet (same `mcpServers` shape across hosts). */ export declare function mcpSnippet(): string; /** Where to paste the snippet for a given host. */ export declare function clientHint(client: McpClient): string; export interface InstallOptions { print?: boolean; client?: McpClient; } /** * Install/merge the cadence MCP server config. Only Claude Code's `.mcp.json` is * written; `--print` or any other client emits the snippet + a path hint and * writes nothing. */ export declare function installMcpConfig(repoRoot: string, opts: InstallOptions, io: CommandIO): Promise; //# sourceMappingURL=install.d.ts.map