import { EventEmitter } from 'events'; import { ConfigFile, RepositoryConfig, ConfigManagerOptions, ConfigValidationResult } from './types'; export declare class ConfigManager extends EventEmitter { private configPath; private config; private watcher; private options; constructor(options: ConfigManagerOptions); /** * Load configuration from file */ load(): Promise; /** * Save configuration to file */ save(config: ConfigFile): Promise; /** * Get current configuration */ getConfig(): ConfigFile | null; /** * Get specific repository configuration */ getRepository(name: string): RepositoryConfig | null; /** * Get all repositories sorted by priority */ getRepositoriesByPriority(): RepositoryConfig[]; /** * Add a repository to the configuration */ addRepository(repo: RepositoryConfig): Promise; /** * Remove a repository from the configuration */ removeRepository(name: string): Promise; /** * Update a repository configuration */ updateRepository(name: string, updates: Partial): Promise; /** * Merge another configuration with the current one */ mergeConfig(otherConfig: ConfigFile): Promise; /** * Validate configuration */ validate(config?: ConfigFile): ConfigValidationResult; /** * Create a default configuration file */ createDefault(): ConfigFile; /** * Start watching configuration file for changes */ private startWatching; /** * Stop watching configuration file */ stopWatching(): Promise; /** * Apply default values to configuration */ private applyDefaults; /** * Substitute environment variables in configuration */ private substituteEnvironmentVariables; /** * Cleanup resources */ destroy(): Promise; /** * Create a default configuration file */ static createDefaultConfig(configPath: string): Promise; } //# sourceMappingURL=ConfigManager.d.ts.map