import { ConfigRepository } from '../../infrastructure/repositories/config.repository'; /** * Application Configuration */ export interface AppConfig { supabase: { url: string; serviceRoleKey: string; }; queue: { name: string; visibilityTimeoutSeconds: number; pollIntervalMs: number; }; download: { timeoutMs: number; maxRetries: number; defaultPath: string; fallbackPath?: string; }; platform: { name: string; isWindows: boolean; isMac: boolean; isLinux: boolean; separator: string; }; instance: { id: string; name: string; }; } /** * Configuration Manager * Loads and validates application configuration */ export declare class ConfigManager { private configRepository; private config; constructor(configRepository: ConfigRepository); /** * Loads configuration from database with fallback to environment variables * @param instanceId - Optional instance ID (for testing or pre-registered instances) * @throws Error if required variables are missing */ load(instanceId?: string): Promise; /** * Gets the current configuration * @throws Error if configuration not loaded */ get(): AppConfig; /** * Validates that all required environment variables are present * @throws Error if any required variable is missing */ private validateRequiredEnvVars; /** * Get configuration value with priority: DB > ENV > Default */ private getConfigValue; } //# sourceMappingURL=config.manager.d.ts.map