/**
 * @plan PLAN-20250120-DEBUGLOGGING.P05
 * @requirement REQ-001,REQ-002
 * Mock implementation for DebugLogger testing
 */
export class MockConfigurationManager {
    static instance;
    config = {
        enabled: true,
        namespaces: ['*'],
        level: 'debug',
        output: { target: 'file stderr', directory: '~/.llxprt/debug' },
        redactPatterns: ['apiKey', 'token', 'password'],
    };
    listeners = new Set();
    static getInstance() {
        if (!MockConfigurationManager.instance) {
            MockConfigurationManager.instance = new MockConfigurationManager();
        }
        return MockConfigurationManager.instance;
    }
    setEphemeralConfig(config) {
        this.config = { ...this.config, ...config };
        this.notifyListeners();
    }
    getEffectiveConfig() {
        return this.config;
    }
    getOutputTarget() {
        return this.config.output?.target || 'file stderr';
    }
    getRedactPatterns() {
        return this.config.redactPatterns || [];
    }
    subscribe(listener) {
        this.listeners.add(listener);
    }
    unsubscribe(listener) {
        this.listeners.delete(listener);
    }
    notifyListeners() {
        this.listeners.forEach((listener) => listener());
    }
}
//# sourceMappingURL=MockConfigurationManager.js.map