import type { Settings, SettingsError, SettingsManagerCreateOptions, SettingsScope, SettingsStorage } from "./settings-types.ts"; export declare class SettingsManager { /** A defensive snapshot of the effective merged settings. */ getSettings(): Settings; private storage; private globalSettings; private projectSettings; private settings; private projectTrusted; private modifiedFields; private modifiedNestedFields; private modifiedProjectFields; private modifiedProjectNestedFields; private globalSettingsLoadError; private projectSettingsLoadError; private writeQueue; private errors; private constructor(); private mergeEffectiveSettings; /** Create a SettingsManager that loads from files */ static create(cwd: string, agentDir?: string, options?: SettingsManagerCreateOptions): SettingsManager; /** Create a SettingsManager from an arbitrary storage backend */ static fromStorage(storage: SettingsStorage, options?: SettingsManagerCreateOptions): SettingsManager; /** Create an in-memory SettingsManager (no file I/O) */ static inMemory(settings?: Partial): SettingsManager; private static loadFromStorage; private static tryLoadFromStorage; private static validateLoadedSettings; /** Migrate old settings format to new format */ private static migrateSettings; getGlobalSettings(): Settings; getProjectSettings(): Settings; isFieldInherited(scope: SettingsScope, field: keyof Settings): boolean; isProjectTrusted(): boolean; setProjectTrusted(trusted: boolean): void; reload(): Promise; /** Load a reload candidate without publishing any settings to live readers. */ prepareReload(): Promise<{ settingsManager: SettingsManager; commit: () => void; }>; private publishReload; /** Apply additional overrides on top of current settings */ applyOverrides(overrides: Partial): void; /** Mark a global field as modified during this session */ private markModified; private assertProjectTrustedForWrite; /** Mark a project field as modified during this session */ private markProjectModified; private recordError; private clearModifiedScope; private enqueueWrite; private cloneModifiedNestedFields; private persistScopedSettings; private save; private saveProjectSettings; flush(): Promise; drainErrors(): SettingsError[]; private touchSplitAccessorMethods; } //# sourceMappingURL=settings-manager-core.d.ts.map