import type { MCPServerConfig, ProviderConfig } from '../types/config.js';
export type ConfigSource = 'project' | 'global' | 'env';
export interface MCPServerWithSource {
    server: MCPServerConfig;
    source: ConfigSource;
}
/**
 * Load project-level MCP configuration from .mcp.json
 */
export declare function loadProjectMCPConfig(): MCPServerWithSource[];
/**
 * Load global MCP configuration from ~/.config/nanocoder/.mcp.json
 */
export declare function loadGlobalMCPConfig(): MCPServerWithSource[];
/**
 * Merge project-level and global MCP configurations
 * ALL servers from both locations are loaded (project servers shown first)
 * No overriding - each unique server is preserved
 */
export declare function mergeMCPConfigs(projectServers: MCPServerWithSource[], globalServers: MCPServerWithSource[], envServers?: MCPServerWithSource[]): MCPServerWithSource[];
/**
 * Load all MCP configurations with proper hierarchy and merging
 */
export declare function loadAllMCPConfigs(): MCPServerWithSource[];
/**
 * Load provider configurations from all available levels (project and global)
 * This mirrors the approach used for MCP servers to support hierarchical loading
 */
export declare function loadAllProviderConfigs(): ProviderConfig[];
//# sourceMappingURL=mcp-config-loader.d.ts.map