export interface EnsembleConfig {
    defaultToolTimeout: number;
    maxConcurrentTools: number;
    pauseCheckInterval: number;
    historyCompactionThreshold: number;
    apiKeys: {
        openai?: string;
        anthropic?: string;
        google?: string;
        deepseek?: string;
        xai?: string;
        openrouter?: string;
    };
}
declare class ConfigManager {
    private config;
    private isLoaded;
    constructor();
    loadConfig(): void;
    getConfig(): EnsembleConfig;
    get<K extends keyof EnsembleConfig>(key: K): EnsembleConfig[K];
    updateConfig(updates: Partial<EnsembleConfig>): void;
    reset(): void;
    hasApiKey(provider: keyof EnsembleConfig['apiKeys']): boolean;
    getApiKey(provider: keyof EnsembleConfig['apiKeys']): string | undefined;
}
export declare function getConfigManager(): ConfigManager;
export declare function getConfig(): EnsembleConfig;
export declare function getConfigValue<K extends keyof EnsembleConfig>(key: K): EnsembleConfig[K];
export {};
//# sourceMappingURL=config_manager.d.ts.map