import type { ShellPathService } from '../runtime/shell-paths.js';
export interface McpServerConfig {
    /** Unique server name, used as namespace prefix: mcp:<name>:<tool> */
    name: string;
    /** Executable command to start the MCP server process */
    command: string;
    /** Arguments to pass to the command */
    args?: string[] | undefined;
    /** Optional environment variables to merge with process.env */
    env?: Record<string, string> | undefined;
    /** Optional role used by runtime coherence checks. */
    role?: 'general' | 'docs' | 'filesystem' | 'git' | 'database' | 'browser' | 'automation' | 'ops' | 'remote' | undefined;
    /** Optional initial trust mode for the runtime MCP trust layer. */
    trustMode?: 'constrained' | 'ask-on-risk' | 'allow-all' | 'blocked' | undefined;
    /** Optional allowed path prefixes for filesystem-oriented tools. */
    allowedPaths?: string[] | undefined;
    /** Optional allowed network hostnames for network-oriented tools. */
    allowedHosts?: string[] | undefined;
}
export interface McpConfig {
    servers: McpServerConfig[];
}
export type McpConfigRoots = Pick<ShellPathService, 'workingDirectory' | 'homeDirectory'>;
/**
 * loadMcpConfig - Scan multiple locations in precedence order (later wins).
 * Returns merged config from all found files. Returns empty config on failure.
 */
export declare function loadMcpConfig(roots: McpConfigRoots): McpConfig;
//# sourceMappingURL=config.d.ts.map