/** * Mock localStorage for testing * * Provides a Map-backed implementation of the Storage interface * for testing localStorage-dependent code. * * @example * ```typescript * const storage = new MockLocalStorage(); * * // Use as global localStorage * Object.defineProperty(globalThis, 'localStorage', { value: storage }); * * // Or use directly * storage.setItem('key', 'value'); * expect(storage.getItem('key')).toBe('value'); * * // Check internal storage * expect(storage._store.get('key')).toBe('value'); * * // Reset between tests * storage.clear(); * ``` */ /** * Mock implementation of the Storage interface */ export declare class MockLocalStorage implements Storage { /** Internal storage map */ readonly _store: Map; get length(): number; key(index: number): string | null; getItem(key: string): string | null; setItem(key: string, value: string): void; removeItem(key: string): void; clear(): void; /** * Get all keys in storage */ keys(): string[]; /** * Get all entries as an object */ toObject(): Record; /** * Populate storage from an object */ fromObject(obj: Record): void; } /** * Creates a mock localStorage instance * * @returns A new MockLocalStorage instance */ export declare function createMockLocalStorage(): MockLocalStorage; /** * Sets up mock localStorage on globalThis * * @returns The mock localStorage instance (for assertions) */ export declare function setupLocalStorageMock(): MockLocalStorage; /** * Mock implementation of sessionStorage * (Same interface as localStorage) */ export declare class MockSessionStorage extends MockLocalStorage { } /** * Creates a mock sessionStorage instance * * @returns A new MockSessionStorage instance */ export declare function createMockSessionStorage(): MockSessionStorage; /** * Sets up mock sessionStorage on globalThis * * @returns The mock sessionStorage instance */ export declare function setupSessionStorageMock(): MockSessionStorage; //# sourceMappingURL=localStorage.d.ts.map