import { m as Signal } from "../children-s3nFjpLA.mjs"; //#region src/utilities/storage.d.ts type StorageOptions = { /** Custom serialiser (default `JSON.stringify`). */serialise?: (value: T) => string; /** Custom deserialiser (default `JSON.parse`). */ deserialise?: (raw: string) => T; }; /** * Returns a `Signal` persisted to `localStorage`. * * Changes made in other tabs/windows are synchronised automatically via * the `StorageEvent`. * * @example * ```ts * import { createLocalStorage } from "elements-kit/utilities/storage"; * * const theme = createLocalStorage<"light" | "dark">("theme", "light"); * theme(); // read current * theme("dark"); // write — persists and notifies * ``` */ declare function createLocalStorage(key: string, initialValue: T, options?: StorageOptions): Signal; /** * Returns a `Signal` persisted to `sessionStorage`. * * Session storage is scoped to the current tab — no cross-tab sync. * * @example * ```ts * import { createSessionStorage } from "elements-kit/utilities/storage"; * * const draft = createSessionStorage("draft", { title: "", body: "" }); * draft({ title: "hi", body: "…" }); * ``` */ declare function createSessionStorage(key: string, initialValue: T, options?: StorageOptions): Signal; //#endregion export { createLocalStorage, createSessionStorage };