/**
 * MCP Server Registry — manages which MCP servers are available to spawned CLI agents.
 *
 * Brutalist generates per-CLI MCP configurations from this registry so that
 * adversarial agents can use tools (e.g. Playwright) for evidence-backed
 * analysis while remaining unable to modify the codebase.
 */
export interface MCPServerSpec {
    command: string;
    args: string[];
    env?: Record<string, string>;
}
/** Resolve server specs by name from the registry. Unknown names are skipped with a warning. */
export declare function resolveServers(names: string[]): Record<string, MCPServerSpec>;
/** Return all registered server names (for discovery / cli_agent_roster). */
export declare function listRegisteredServers(): string[];
export declare function ensurePlaywrightBrowsers(): Promise<void>;
/**
 * Write a temporary Claude MCP config file and return its path.
 * Caller is responsible for cleanup via `cleanupTempConfig`.
 */
export declare function writeClaudeMCPConfig(servers: Record<string, MCPServerSpec>, sessionId: string): Promise<string>;
/** Remove a temp config file. Swallows errors (file may already be gone). */
export declare function cleanupTempConfig(filepath: string): Promise<void>;
/**
 * Build a TOML-compatible value string for Codex's `-c mcp_servers=...` flag.
 * This **replaces** Codex's configured servers entirely (excluding brutalist).
 *
 * Codex parses the value as TOML, so we produce an inline-table representation:
 *   {playwright={command="npx", args=["@playwright/mcp@latest"]}}
 */
export declare function buildCodexMCPOverride(servers: Record<string, MCPServerSpec>): string;
/**
 * Ensure the requested MCP servers are configured in Gemini CLI.
 * Runs `gemini mcp list` to check, then `gemini mcp add` for missing ones.
 * Idempotent — safe to call on every invocation.
 */
export declare function ensureGeminiMCPServers(servers: Record<string, MCPServerSpec>): Promise<void>;
//# sourceMappingURL=mcp-registry.d.ts.map