import type { PrimitiveAtom } from 'jotai-expose-store'; declare type Unsubscribe = () => void; declare type Storage = { getItem: (key: string) => Value | Promise; setItem: (key: string, newValue: Value) => void | Promise; delayInit?: boolean; subscribe?: (key: string, callback: (value: Value) => void) => Unsubscribe; }; declare type StringStorage = { getItem: (key: string) => string | null | Promise; setItem: (key: string, newValue: string) => void | Promise; }; export declare const createJSONStorage: (getStringStorage: () => StringStorage) => Storage; export declare function atomWithStorage(key: string, initialValue: Value, storage?: Storage): PrimitiveAtom; export declare function atomWithHash(key: string, initialValue: Value, serialize?: (val: Value) => string, deserialize?: (str: string) => Value): PrimitiveAtom; export {};