import { ProviderConfig } from '@majkapp/majk-chat-core';
export interface CliCredentialOptions {
    openaiApiKey?: string;
    openaiOrgId?: string;
    anthropicApiKey?: string;
    azureOpenaiApiKey?: string;
    azureOpenaiEndpoint?: string;
    azureOpenaiDeployment?: string;
    awsAccessKeyId?: string;
    awsSecretAccessKey?: string;
    awsSessionToken?: string;
    awsRegion?: string;
    bedrockApiKey?: string;
    apiKey?: string;
    apiKeyFile?: string;
    envFile?: string;
    profile?: string;
}
export declare class CredentialManager {
    private configDir;
    private dotenvLoaded;
    private profileManager;
    private homeDir;
    constructor(homeDir?: string);
    /**
     * Load environment variables from .env files with precedence:
     * 1. .env.local (highest priority)
     * 2. .env
     * 3. Global .majk-chat/.env
     */
    private loadDotenvFiles;
    loadProviders(options?: CliCredentialOptions): Promise<any>;
    getCredentials(provider: string, options?: CliCredentialOptions): Promise<ProviderConfig>;
    /**
     * Get API key from CLI options with provider-specific precedence
     */
    private getCliApiKey;
    /**
     * Add provider-specific configuration with CLI option precedence
     */
    private addProviderSpecificConfig;
    private readApiKeyFromFile;
    private getEnvironmentKey;
    private getProviderStandardKey;
    private hasProviderConfig;
    /**
     * Check if provider has config in any location including profiles
     */
    hasProviderConfigAnywhere(provider: string, profileName?: string): Promise<boolean>;
    private loadProviderConfig;
    saveProviderConfig(provider: string, config: ProviderConfig): Promise<void>;
}
//# sourceMappingURL=credentials.d.ts.map