/** * CONFIGURATION MANAGEMENT * Environment-based configs, validation, hot reloading */ export declare enum Environment { DEVELOPMENT = "development", STAGING = "staging", PRODUCTION = "production", TEST = "test" } export interface ModelOrchConfig { environment: Environment; debug: boolean; api: { host: string; port: number; base_path: string; timeout_ms: number; max_retries: number; }; auth: { jwt_secret: string; jwt_expiry_seconds: number; api_key_prefix: string; }; rate_limit: { enabled: boolean; default_rpm: number; default_rpd: number; backend: 'memory' | 'redis'; redis_url?: string; }; cache: { enabled: boolean; ttl_seconds: number; max_size_mb: number; backend: 'memory' | 'redis'; redis_url?: string; }; cost: { enabled: boolean; default_budget: number; alert_thresholds: number[]; }; observability: { tracing_enabled: boolean; metrics_enabled: boolean; logging_level: 'debug' | 'info' | 'warn' | 'error'; export_interval_ms: number; }; models: { default_model: string; default_temperature: number; default_max_tokens: number; timeout_ms: number; }; database?: { url: string; pool_size: number; }; } export declare class ConfigManager { private config; private watchers; private validation_schema?; constructor(initial_config?: Partial); /** * Get configuration */ get(): ModelOrchConfig; /** * Get specific config value */ getValue(key: K): ModelOrchConfig[K]; /** * Update configuration */ update(updates: Partial): void; /** * Load from environment variables */ loadFromEnv(): void; /** * Load from file */ loadFromFile(file_path: string): Promise; /** * Watch for changes */ watch(callback: (config: ModelOrchConfig) => void): () => void; /** * Set validation schema */ setValidationSchema(schema: ConfigValidationSchema): void; /** * Validate configuration */ validate(config: ModelOrchConfig): { valid: boolean; errors: string[]; }; /** * Export configuration */ export(format?: 'json' | 'env'): string; /** * Get default configuration */ private getDefaults; /** * Deep merge objects */ private merge; } export interface ConfigValidationRule { required?: boolean; type?: 'string' | 'number' | 'boolean' | 'object'; min?: number; max?: number; pattern?: RegExp; enum?: unknown[]; } export interface ConfigValidationSchema { [key: string]: ConfigValidationRule | ConfigValidationSchema; } export declare class ConfigBuilder { private config; /** * Set environment */ environment(env: Environment): this; /** * Enable debug mode */ debug(enabled?: boolean): this; /** * Configure API */ api(params: Partial): this; /** * Configure auth */ auth(params: Partial): this; /** * Configure rate limiting */ rateLimit(params: Partial): this; /** * Configure caching */ cache(params: Partial): this; /** * Configure models */ models(params: Partial): this; /** * Build configuration */ build(): ModelOrchConfig; } export declare class ConfigPresets { /** * Development preset */ static development(): ModelOrchConfig; /** * Production preset */ static production(): ModelOrchConfig; /** * Test preset */ static test(): ModelOrchConfig; } //# sourceMappingURL=config-manager.d.ts.map