/** * Zoe Core — Settings Manager * * Single source of truth for reading, writing, validating, and persisting * settings. Adapters (CLI, SDK, Server) delegate to this class. */ import { ZoeError } from './errors.js'; import { SettingsCategory } from './settings-schema.js'; export declare class SettingsError extends ZoeError { constructor(message: string, code?: string); } export interface SettingValue { value: unknown; origin: string; masked: boolean; } export interface SettingEntry extends SettingValue { dotKey: string; category: SettingsCategory; restartRequired: boolean; label: string; } export interface SettingsManagerOptions { config: Record; projectConfigPath?: string; globalConfigPath?: string; projectConfig?: Record; globalConfig?: Record; } export declare class SettingsManager { private config; private projectConfigPath?; private globalConfigPath?; private projectConfig; private globalConfig; private listeners; constructor(options: SettingsManagerOptions); get(dotKey: string): SettingValue; list(): SettingEntry[]; listByCategory(): Record; set(dotKey: string, rawValue: string): Promise; reset(dotKey: string): Promise; resetAll(): Promise; onChange(callback: (changedKeys: string[]) => void): () => void; private emitChange; private validateValue; private resolveConfigOrigin; private parseEnvValue; private resolveWriteTarget; private readConfigFile; private persist; private getValueByPath; private applyValueToConfig; private removeValueFromConfig; private hasPath; private maskValue; }