type Store = { getValue: (defaultValue: T) => T; setValue: (next: T) => void; subscribe: (callback: () => void) => Unsubscribe; }; type Unsubscribe = () => void; type CreateStoreProps = { storageKey: string; storageType?: 'localStorage' | 'sessionStorage'; serializer?: { parse: (value: string) => T; serialize: (value: T) => string; }; }; export declare function createStore({ storageKey, storageType, serializer }: CreateStoreProps): Store; export declare function useStore(store: Store, defaultValue: T): readonly [T, (next: T) => void]; export {};