import { type MCPConfigFile, type MCPServerConfig } from "./types";
/**
 * Read an MCP config file.
 * Returns empty config if file doesn't exist.
 */
export declare function readMCPConfigFile(filePath: string): Promise<MCPConfigFile>;
/**
 * Write an MCP config file atomically.
 * Creates parent directories if they don't exist.
 */
export declare function writeMCPConfigFile(filePath: string, config: MCPConfigFile): Promise<void>;
/**
 * Validate server name.
 * @returns Error message if invalid, undefined if valid
 */
export declare function validateServerName(name: string): string | undefined;
/**
 * Add an MCP server to a config file.
 * Validates the config before writing.
 *
 * @throws Error if server name already exists or validation fails
 */
export declare function addMCPServer(filePath: string, name: string, config: MCPServerConfig): Promise<void>;
/**
 * Update an existing MCP server in a config file.
 * If the server doesn't exist, this will add it.
 *
 * @throws Error if validation fails
 */
export declare function updateMCPServer(filePath: string, name: string, config: MCPServerConfig): Promise<void>;
/**
 * Remove an MCP server from a config file.
 *
 * @throws Error if server doesn't exist
 */
export declare function removeMCPServer(filePath: string, name: string): Promise<void>;
/**
 * Get a specific server config from a file.
 * Returns undefined if server doesn't exist.
 */
export declare function getMCPServer(filePath: string, name: string): Promise<MCPServerConfig | undefined>;
/**
 * List all server names in a config file.
 */
export declare function listMCPServers(filePath: string): Promise<string[]>;
/**
 * Read the disabled servers list from a config file.
 */
export declare function readDisabledServers(filePath: string): Promise<string[]>;
/**
 * Add or remove a server name from the disabled servers list.
 */
export declare function setServerDisabled(filePath: string, name: string, disabled: boolean): Promise<void>;
