export interface MergeMcpJsonResult { outcome: "created" | "merged" | "already-present" | "error"; warning?: string; } /** * Merge the Forge MCP server entry into the project .mcp.json with * merge-not-clobber semantics. * * Rules: * 1. templatePath absent → "error" (payload missing template; non-fatal). * 2. Project .mcp.json absent → read template, write { mcpServers: { forge: ... } } → "created". * 3. Project .mcp.json present, valid JSON, already has mcpServers.forge → "already-present" (no-op). * 4. Project .mcp.json present, valid JSON, no mcpServers.forge → * deep-merge forge key into existing mcpServers, preserve all other servers → "merged". * 5. Project .mcp.json present, malformed JSON → "error", file never overwritten. * 6. Write failure → "error" with descriptive warning. */ export declare function mergeMcpJson(mcpJsonPath: string, templatePath: string): MergeMcpJsonResult;