import { StoredManagerState } from "../types.js"; import { IClientStorageAdapter } from "./IClientStorageAdapter.js"; export interface IndexedDbStorageAdapterOptions { dbName?: string; storeName?: string; idbFactory?: IDBFactory; } /** * IndexedDB storage adapter for client-side DEM caching in browsers. */ export declare class IndexedDbStorageAdapter implements IClientStorageAdapter { private dbName; private storeName; private idbFactory; private dbPromise; /** * Initializes an IndexedDbStorageAdapter instance. * * @param options - Configuration options for database name, store name, and IDBFactory. */ constructor(options?: IndexedDbStorageAdapterOptions); /** * Retrieves or initializes the underlying IDBDatabase connection. * * @returns A promise resolving to the IDBDatabase instance. * @throws {DEMError} Throws DEMErrorCode.STORAGE_NOT_SUPPORTED when IndexedDB is unavailable. */ private getDb; /** * Persists manager state record to IndexedDB object store. * * @param className - The name identifier of the manager class. * @param state - Complete snapshot of the manager state. */ saveManagerState(className: string, state: StoredManagerState): Promise; /** * Retrieves stored manager state from IndexedDB store. * * @param className - The name identifier of the manager class. * @returns Parsed state object or null if absent. */ loadManagerState(className: string): Promise | null>; /** * Removes saved manager state for given class name from IndexedDB. * * @param className - The name identifier of the manager class. */ clearManagerState(className: string): Promise; /** * Purges all stored records in the IndexedDB object store. */ clearAll(): Promise; }