/** * Settings storage backends for SettingsManager. * * A SettingsStorage abstracts read-modify-write of the raw settings JSON for a * scope under an exclusive lock. FileSettingsStorage persists to the global and * project settings.json with cross-process file locking; InMemorySettingsStorage * keeps them in memory for tests. Extracted from settings-manager.ts. */ export type SettingsScope = "global" | "project"; export interface SettingsStorage { withLock(scope: SettingsScope, fn: (current: string | undefined) => string | undefined): void; } export interface SettingsError { scope: SettingsScope; error: Error; } export declare class FileSettingsStorage implements SettingsStorage { private globalSettingsPath; private projectSettingsPath; constructor(cwd: string, agentDir: string); private acquireLockSyncWithRetry; withLock(scope: SettingsScope, fn: (current: string | undefined) => string | undefined): void; } export declare class InMemorySettingsStorage implements SettingsStorage { private global; private project; withLock(scope: SettingsScope, fn: (current: string | undefined) => string | undefined): void; } //# sourceMappingURL=settings-storage.d.ts.map