/** * @license * Copyright 2025 Google LLC * SPDX-License-Identifier: Apache-2.0 */ import { EventEmitter } from 'events'; import { type ISettingsService, type GlobalSettings, type ProviderSettings, type SettingsChangeEvent, type EventListener, type EventUnsubscribe, type DiagnosticsInfo } from './types.js'; export declare class SettingsService extends EventEmitter implements ISettingsService { private settings; private eventEmitter; constructor(); get(key: string): unknown; set(key: string, value: unknown): void; getProviderSettings(provider: string): Record; setProviderSetting(provider: string, key: string, value: unknown): void; clear(): void; getAllGlobalSettings(): Record; private getNestedValue; private setNestedValue; on(event: 'settings_changed', listener: EventListener): EventUnsubscribe; on(eventName: string | symbol, listener: (...args: unknown[]) => void): this; off(event: string, listener: (...args: unknown[]) => void): this; getSettings(): Promise; getSettings(provider: string): Promise; updateSettings(changes: Partial): Promise; updateSettings(provider: string, changes: Partial): Promise; switchProvider(newProvider: string): Promise; exportForProfile(): Promise<{ defaultProvider: string; providers: Record; tools: { allowed: string[]; disabled: string[]; }; }>; importFromProfile(profileData: unknown): Promise; setCurrentProfileName(profileName: string | null): void; getCurrentProfileName(): string | null; getDiagnosticsData(): Promise; onSettingsChanged(listener: EventListener): EventUnsubscribe; }