/** * Configuration service for OpenCage Angular SDK * Handles API key, base URL, and other configuration options */ import { InjectionToken } from '@angular/core'; import { OpenCageConfig } from '../models/opencage-types'; import * as i0 from "@angular/core"; /** * Default configuration values */ export declare const DEFAULT_OPENCAGE_CONFIG: Partial; /** * Injection token for OpenCage configuration */ export declare const OPENCAGE_CONFIG_TOKEN: InjectionToken>; /** * OpenCage configuration service * Manages SDK configuration and provides access to settings */ export declare class OpenCageConfigService { private config; constructor(injectedConfig?: Partial); /** * Get current configuration */ getConfig(): OpenCageConfig; /** * Update configuration */ updateConfig(newConfig: Partial): void; /** * Get API key */ getApiKey(): string; /** * Set API key */ setApiKey(apiKey: string): void; /** * Get base URL */ getBaseUrl(): string; /** * Get default language */ getDefaultLanguage(): string; /** * Check if caching is enabled */ isCachingEnabled(): boolean; /** * Get cache TTL */ getCacheTtl(): number; /** * Check if rate limiting is enabled */ isRateLimitEnabled(): boolean; /** * Get rate limit */ getRateLimit(): number; /** * Get timeout value */ getTimeout(): number; /** * Get retry attempts */ getRetryAttempts(): number; /** * Get retry delay */ getRetryDelay(): number; /** * Check if debug mode is enabled */ isDebugEnabled(): boolean; /** * Validate configuration */ validateConfig(): { valid: boolean; errors: string[]; }; /** * Create URL with query parameters */ buildUrl(endpoint: string, params?: Record): string; /** * Get HTTP headers */ getHeaders(): Record; /** * Create configuration for environment */ static forEnvironment(environment: 'development' | 'production' | 'test'): Partial; /** * Merge configuration objects */ private mergeConfigs; static ɵfac: i0.ɵɵFactoryDeclaration; static ɵprov: i0.ɵɵInjectableDeclaration; } /** * Provider factory for OpenCage configuration */ export declare function provideOpenCageConfig(config: Partial): { provide: InjectionToken>; useValue: Partial; };