import { type SyncStorage, type AsyncStorage, type AsyncStorageWithOptions, type SyncStorageWithOptions } from "./index.js"; /** * adds a `.clear` method to a Storage without one only using `.key`/`.removeItem` */ export declare const addClearMethod: , R extends S & { clear: () => void; }>(storage: Omit & { clear?: () => void; }) => R; /** * adds a `.withOptions` method that wraps the storage to apply options */ export declare const addWithOptionsMethod: | AsyncStorageWithOptions, W extends AsyncStorage | SyncStorage = S extends AsyncStorageWithOptions ? AsyncStorage : SyncStorage>(storage: S) => S & { withOptions: (options: O) => W; }; export type StorageMultiplexer = (...storages: S) => AsyncStorage extends S[number] ? AsyncStorage : SyncStorage; /** * combines multiple storages to a single storage */ export declare const multiplexStorage: StorageMultiplexer; /** * Provides a minimal Storage API wrapper for an object */ export declare const makeObjectStorage: (object: { [key: string]: string; }) => { getItem: (key: string) => string | null; setItem: (key: string, value: string) => void; removeItem: (key: string) => void; key: (index: number) => string | undefined; readonly length: number; clear: () => void; };