/** * `settings.json` 的读写与 per-`apply` 内存当前值。 * * 文件位置:`$DSH_HOME/storages/dsh-plugin-width-slider/settings.json`。 * 读取一律过 `mergeSettings` 白名单合并;写入原子且写成功才换内存值 —— * 端点据此在落盘失败时返回 `write-failed` 而不改状态。 */ import { type FeatureSettings } from '../shared/settings.js'; /** 读设置文件;缺失或损坏时回退默认。损坏文件改名保留现场(不静默覆盖)。 */ export declare function readSettingsFileSync(): FeatureSettings; /** 原子写设置文件(tmp + rename)。 */ export declare function writeSettingsFileSync(settings: FeatureSettings): void; /** * 每次 `apply` 一份的内存当前值。`commit` 先落盘、成功才换内存 —— 落盘抛错时 * 内存必须保持旧值(端点据此返回 `write-failed` 而不改状态)。 */ export interface SettingsStore { /** 当前生效设置(启动时读盘,写成功后热更新)。 */ get: () => FeatureSettings; /** 落盘并切换内存值;落盘失败向上抛,内存不变。 */ commit: (next: FeatureSettings) => void; } export declare function createSettingsStore(): SettingsStore;