/**
 * Provider Configuration Utility
 * Consolidated configuration helpers for all AI providers
 * Eliminates duplicate error messages and configuration logic
 * Enhanced with format validation and advanced error classification
 */
/**
 * Configuration options for provider validation
 */
export interface ProviderConfigOptions {
    providerName: string;
    envVarName: string;
    setupUrl: string;
    description: string;
    instructions: string[];
    fallbackEnvVars?: string[];
}
/**
 * Enhanced validation result with format checking
 */
export interface ValidationResult {
    isValid: boolean;
    apiKey: string;
    formatValid?: boolean;
    errorType?: "missing" | "format" | "config";
    error?: string;
}
/**
 * Validates API key format for a specific provider
 * @param providerKey Provider identifier (e.g., 'openai', 'anthropic')
 * @param apiKey The API key to validate
 * @returns True if format is valid
 */
export declare function validateApiKeyFormat(providerKey: string, apiKey: string): boolean;
/**
 * Enhanced validation with format checking
 * @param config Provider configuration options
 * @param enableFormatValidation Whether to validate API key format
 * @returns Validation result with detailed information
 */
export declare function validateApiKeyEnhanced(config: ProviderConfigOptions, enableFormatValidation?: boolean): ValidationResult;
/**
 * Validates an API key for a provider and returns it (BACKWARD COMPATIBLE)
 * Throws detailed error message if validation fails
 * @param config Provider configuration options
 * @returns The validated API key
 */
export declare function validateApiKey(config: ProviderConfigOptions): string;
/**
 * Gets a provider model with fallback to default
 * @param envVar Environment variable name for the model
 * @param defaultModel Default model to use if env var not set
 * @returns The model name to use
 */
export declare function getProviderModel(envVar: string, defaultModel: string): string;
/**
 * Checks if provider credentials are available
 * @param envVars Array of environment variable names to check
 * @returns True if any of the credentials are available
 */
export declare function hasProviderCredentials(envVars: string[]): boolean;
/**
 * Creates Anthropic provider configuration
 */
export declare function createAnthropicConfig(): ProviderConfigOptions;
/**
 * Creates OpenAI provider configuration
 */
export declare function createOpenAIConfig(): ProviderConfigOptions;
/**
 * Creates HuggingFace provider configuration
 */
export declare function createHuggingFaceConfig(): ProviderConfigOptions;
/**
 * Creates Mistral provider configuration
 */
export declare function createMistralConfig(): ProviderConfigOptions;
/**
 * Creates AWS Access Key configuration for Bedrock
 */
export declare function createAWSAccessKeyConfig(): ProviderConfigOptions;
/**
 * Creates AWS Secret Key configuration for Bedrock
 */
export declare function createAWSSecretConfig(): ProviderConfigOptions;
/**
 * Creates Azure OpenAI API Key configuration
 */
export declare function createAzureAPIKeyConfig(): ProviderConfigOptions;
/**
 * Creates Azure OpenAI Endpoint configuration
 */
export declare function createAzureEndpointConfig(): ProviderConfigOptions;
/**
 * Creates Google Vertex Project ID configuration
 */
export declare function createVertexProjectConfig(): ProviderConfigOptions;
/**
 * Creates Google Cloud Authentication configuration
 */
export declare function createGoogleAuthConfig(): ProviderConfigOptions;
/**
 * Creates Anthropic Base Provider configuration
 */
export declare function createAnthropicBaseConfig(): ProviderConfigOptions;
/**
 * Gets AWS Region with default fallback
 */
export declare function getAWSRegion(): string;
/**
 * Gets AWS Session Token if available
 */
export declare function getAWSSessionToken(): string | undefined;
/**
 * Checks if HuggingFace credentials are available
 */
export declare function hasHuggingFaceCredentials(): boolean;
