/** * Configuration manager implementation */ import { BaseWundrError } from '@wundr.io/core'; import type { ConfigSource, ConfigManager, ConfigOptions, ValidationResult } from '../types/index.js'; export declare class ConfigError extends BaseWundrError { constructor(message: string, context?: Record); } export declare class WundrConfigManager implements ConfigManager { private readonly logger; private readonly eventBus; private readonly sources; private readonly validationRules; private readonly options; private config; private watchers; private globalWatchers; private sourceWatchers; private readonly debouncedSave; private readonly debouncedReload; private initialized; constructor(options?: ConfigOptions); initialize(): Promise; get(key: string, defaultValue?: T): T; set(key: string, value: unknown): void; has(key: string): boolean; delete(key: string): void; clear(): void; getAll(): Record; reload(): Promise; save(): Promise; watch(key: string, callback: (value: unknown, oldValue: unknown) => void): () => void; watchAll(callback: (config: Record) => void): () => void; addSource(source: ConfigSource): void; removeSource(sourceName: string): void; getSources(): ConfigSource[]; validate(): ValidationResult; private doReload; private doSave; private setupSourceWatchers; private setupSourceWatcher; private notifyWatchers; private notifyGlobalWatchers; private notifyAllWatchersOfChanges; private getAllNestedKeys; } //# sourceMappingURL=index.d.ts.map