import { type StorageAdapter } from '../lib/storageAdapter';
/**
 * A typesafe generic hook for using browser's localStorage with JSON objects.
 *
 * @template T The type of the value to store/retrieve
 * @param key The localStorage key
 * @param initialValue The initial value if nothing is stored
 * @returns [value, setValue, removeValue] tuple
 */
export declare function useLocalStorage<T>(key: string, initialValue: T, adapter?: StorageAdapter): [T, (value: T | ((prev: T) => T)) => void, () => void];
export declare function useLocalStorageState<T>(key: string, initialValue: T, adapter?: StorageAdapter): {
    value: T;
    setValue: (value: T | ((prev: T) => T)) => void;
    removeValue: () => void;
    reset: () => void;
    update: (updater: (prev: T) => T) => void;
};
export default useLocalStorage;
//# sourceMappingURL=useLocalStorage.d.ts.map