type HookStorageItem = { get: () => T; set: StorageSetter; subscribe: (callback: () => void) => () => void; merge?: (partial: Partial) => void; reset?: () => void; delete?: () => void; setOrDelete?: (value: T | null | undefined) => void; }; type ReadableStorageItem = { get: () => T; subscribe: (callback: () => void) => () => void; }; export type StorageSetter = (value: T | ((prev: T) => T)) => void; export type StorageActions = { set: StorageSetter; merge: (partial: Partial) => void; reset: () => void; remove: () => void; setOrDelete: (value: T | null | undefined) => void; }; export declare function useStorageActions(item: HookStorageItem): StorageActions; export declare function useStorage(item: HookStorageItem): [T, StorageSetter, StorageActions]; export declare function useStorageValue(item: ReadableStorageItem): T; export declare function useStorageSelector(item: HookStorageItem, selector: (value: T) => TSelected, isEqual?: (prev: TSelected, next: TSelected) => boolean): [TSelected, StorageSetter]; export declare function useSetStorage(item: HookStorageItem): StorageSetter; export {}; //# sourceMappingURL=storage-hooks.d.ts.map