/**
 * Global configuration for LLM providers.
 * Values are initialized from environment variables but can be overridden programmatically.
 */
export interface NodeLLMConfig {
    openaiApiKey?: string;
    openaiApiBase?: string;
    anthropicApiKey?: string;
    anthropicApiBase?: string;
    geminiApiKey?: string;
    geminiApiBase?: string;
    deepseekApiKey?: string;
    deepseekApiBase?: string;
    ollamaApiBase?: string;
    openrouterApiKey?: string;
    openrouterApiBase?: string;
    xaiApiKey?: string;
    xaiApiBase?: string;
    mistralApiKey?: string;
    mistralApiBase?: string;
    bedrockApiKey?: string;
    bedrockAccessKeyId?: string;
    bedrockSecretAccessKey?: string;
    bedrockSessionToken?: string;
    bedrockRegion?: string;
    bedrockGuardrailIdentifier?: string;
    bedrockGuardrailVersion?: string;
    debug?: boolean;
    maxToolCalls?: number;
    maxRetries?: number;
    requestTimeout?: number;
    maxTokens?: number;
    toolExecution?: ToolExecutionMode;
    provider?: string;
}
import { ToolExecutionMode } from "./constants.js";
export declare class Configuration implements NodeLLMConfig {
    private _openaiApiKey?;
    private _openaiApiBase?;
    private _anthropicApiKey?;
    private _anthropicApiBase?;
    private _geminiApiKey?;
    private _geminiApiBase?;
    private _deepseekApiKey?;
    private _deepseekApiBase?;
    private _ollamaApiBase?;
    private _openrouterApiKey?;
    private _openrouterApiBase?;
    private _xaiApiKey?;
    private _xaiApiBase?;
    private _mistralApiKey?;
    private _mistralApiBase?;
    private _bedrockApiKey?;
    private _bedrockAccessKeyId?;
    private _bedrockSecretAccessKey?;
    private _bedrockSessionToken?;
    private _bedrockRegion?;
    private _bedrockGuardrailIdentifier?;
    private _bedrockGuardrailVersion?;
    private _debug?;
    private _provider?;
    get openaiApiKey(): string | undefined;
    set openaiApiKey(v: string | undefined);
    get openaiApiBase(): string | undefined;
    set openaiApiBase(v: string | undefined);
    get anthropicApiKey(): string | undefined;
    set anthropicApiKey(v: string | undefined);
    get anthropicApiBase(): string | undefined;
    set anthropicApiBase(v: string | undefined);
    get geminiApiKey(): string | undefined;
    set geminiApiKey(v: string | undefined);
    get geminiApiBase(): string | undefined;
    set geminiApiBase(v: string | undefined);
    get deepseekApiKey(): string | undefined;
    set deepseekApiKey(v: string | undefined);
    get deepseekApiBase(): string | undefined;
    set deepseekApiBase(v: string | undefined);
    get ollamaApiBase(): string | undefined;
    set ollamaApiBase(v: string | undefined);
    get openrouterApiKey(): string | undefined;
    set openrouterApiKey(v: string | undefined);
    get openrouterApiBase(): string | undefined;
    set openrouterApiBase(v: string | undefined);
    get xaiApiKey(): string | undefined;
    set xaiApiKey(v: string | undefined);
    get xaiApiBase(): string | undefined;
    set xaiApiBase(v: string | undefined);
    get mistralApiKey(): string | undefined;
    set mistralApiKey(v: string | undefined);
    get mistralApiBase(): string | undefined;
    set mistralApiBase(v: string | undefined);
    get bedrockApiKey(): string | undefined;
    set bedrockApiKey(v: string | undefined);
    get bedrockAccessKeyId(): string | undefined;
    set bedrockAccessKeyId(v: string | undefined);
    get bedrockSecretAccessKey(): string | undefined;
    set bedrockSecretAccessKey(v: string | undefined);
    get bedrockSessionToken(): string | undefined;
    set bedrockSessionToken(v: string | undefined);
    get bedrockRegion(): string | undefined;
    set bedrockRegion(v: string | undefined);
    get bedrockGuardrailIdentifier(): string | undefined;
    set bedrockGuardrailIdentifier(v: string | undefined);
    get bedrockGuardrailVersion(): string | undefined;
    set bedrockGuardrailVersion(v: string | undefined);
    get debug(): boolean | undefined;
    set debug(v: boolean | undefined);
    get provider(): string | undefined;
    set provider(v: string | undefined);
    maxToolCalls: number;
    maxRetries: number;
    requestTimeout: number;
    maxTokens: number;
    toolExecution: ToolExecutionMode;
    /**
     * Returns a plain object with all configuration values.
     * This is useful for cloning or serialization.
     * It handles getters (lazy-loaded values) correctly.
     */
    toPlainObject(): NodeLLMConfig;
}
export declare const config: Configuration;
//# sourceMappingURL=config.d.ts.map