import { type AtomType } from "./atom"; type Row = T & { id: string; }; export type StorageListItem = Omit & { id?: string; }; /** * Sync list atom backed by localStorage or sessionStorage. * Always an array (default `[]`). `update` is hidden. */ export type StorageList = Omit[]>, "update"> & { (): Row[]; get(): Row[]; set(value: Row[] | ((prev: Row[]) => Row[]), silently?: boolean): void; /** Add a row. Assigns `uuid()` when `id` is missing. Returns the id. */ add(item: StorageListItem): string; /** Delete a row by id. */ delete(id: string): void; /** Clear every row. */ clearAll(): void; }; /** * Reactive list in `localStorage` under `mates_ls_list:${name}`. * Synchronous. Defaults to `[]` when missing. */ export declare function LSList(name: string): StorageList; /** * Reactive list in `sessionStorage` under `mates_ss_list:${name}`. * Synchronous. Defaults to `[]` when missing. Tab-scoped (no cross-tab sync). */ export declare function SSList(name: string): StorageList; /** @internal */ export declare function __resetStorageListsForTests(): void; export {}; //# sourceMappingURL=LSList.d.ts.map