/** * `workspace-groups.json` 的归一化、读写与 per-`apply` 内存当前值。 * * 文件位置:`$DSH_HOME/storages/dsh-plugin-width-slider/workspace-groups.json`。 * 文件对象形状 `{ version: 1, groups: [...] }`;读盘走 `normalizeGroups` * 丢掉脏项(host 与 client 之间的契约,见 docs/wsTabs-split-spec.md)。 */ export interface WsGroup { id: string; name: string; workspaceIds: string[]; } /** 归一化分组文件对象形状(`{ version?, groups? }`):丢空/重复/非字符串 id,空名保留为 `''`。 */ export declare function normalizeGroups(raw: unknown): WsGroup[]; /** 读分组文件;缺失返回空数组,损坏改名保留现场。 */ export declare function readGroupsFileSync(): WsGroup[]; /** 原子写分组文件。 */ export declare function writeGroupsFileSync(groups: WsGroup[]): void; export interface WorkspaceGroupsStore { /** 当前分组(启动时读盘,写成功后热更新)。 */ get: () => WsGroup[]; /** 落盘并切换内存值;落盘失败向上抛,内存不变。 */ commit: (groups: WsGroup[]) => void; } export declare function createWorkspaceGroupsStore(): WorkspaceGroupsStore;