import { StoredManagerState } from "../types.js"; import { IClientStorageAdapter } from "./IClientStorageAdapter.js"; export interface LocalStorageAdapterOptions { prefix?: string; storage?: { getItem(key: string): string | null; setItem(key: string, value: string): void; removeItem(key: string): void; clear?(): void; key?(index: number): string | null; length?: number; }; } /** * LocalStorage client storage adapter. * Works with browser window.localStorage or mock storage in tests/Node.js. */ export declare class LocalStorageAdapter implements IClientStorageAdapter { private prefix; private storageBackend; /** * Initializes a LocalStorageAdapter instance. * * @param options - Configuration options for storage key prefix and storage provider. */ constructor(options?: LocalStorageAdapterOptions); /** * Generates namespaced storage key for given manager class name. * * @param className - Class name of the manager. * @returns Prefixed storage key string. */ private getKey; /** * Persists serialized manager state to LocalStorage backend. * Gracefully ignores quota exceeded errors. * * @param className - The name identifier of the manager class. * @param state - Complete snapshot of the manager state. */ saveManagerState(className: string, state: StoredManagerState): Promise; /** * Retrieves and parses stored manager state from LocalStorage backend. * * @param className - The name identifier of the manager class. * @returns Parsed state object or null if absent or corrupted. */ loadManagerState(className: string): Promise | null>; /** * Deletes saved manager state for given class name from LocalStorage. * * @param className - The name identifier of the manager class. */ clearManagerState(className: string): Promise; /** * Deletes all items with matching prefix from LocalStorage backend. */ clearAll(): Promise; }