import { SettingsManager as ISettingsManager, SettingDefinition, SettingCategory, SettingsValues, SettingValue, SettingsChangeEvent, SettingsValidationResult, SettingsStorage, EditorSettingKey } from './types'; /** * Event emitter for settings */ declare class SettingsEventEmitter { private listeners; on(event: string, handler: (data: unknown) => void): () => void; emit(event: string, data: unknown): void; removeAllListeners(): void; } /** * Settings Manager constructor options */ export type SettingsManagerOptions = { storage?: SettingsStorage; /** Additional settings to register (merged with defaultSettings) */ additionalSettings?: SettingDefinition[]; /** Skip registering defaultSettings (default: false) */ skipDefaultSettings?: boolean; }; /** * Settings Manager implementation */ export declare class SettingsManager extends SettingsEventEmitter implements ISettingsManager { private settings; private categories; private values; private storage; constructor(options?: SettingsManagerOptions); registerSetting(setting: SettingDefinition): void; registerSettings(settings: readonly SettingDefinition[]): void; unregisterSetting(key: string): void; getSetting(key: string): SettingDefinition | undefined; getAllSettings(): Record; getSettingsByCategory(category: string): SettingDefinition[]; registerCategory(category: SettingCategory): void; unregisterCategory(key: string): void; getCategory(key: string): SettingCategory | undefined; getAllCategories(): SettingCategory[]; getValue(key: K): SettingValue | undefined; getValue(key: string): T | undefined; setValue(key: K, value: SettingValue): void; setValue(key: string, value: SettingValue): void; setValues(values: Partial>): void; setValues(values: Partial): void; getAllValues(): SettingsValues; resetToDefaults(keys?: string[]): void; validateSetting(key: string, value: SettingValue): string | null; validateAll(): SettingsValidationResult; save(): Promise; load(): Promise; export(): string; import(data: string): void; getSchema(): Record; on(event: "change" | "validate" | "save" | "load", handler: (data: SettingsChangeEvent | SettingsValidationResult | SettingsValues) => void): () => void; reset(): void; private loadFromStorage; } export {};