import type { Mutate, StateCreator, StoreApi, StoreMutatorIdentifier } from './vanilla'; declare type ExtractState = S extends { getState: () => infer T; } ? T : never; declare type WithReact> = S & { getServerState?: () => ExtractState; }; export declare function useStore>>(api: S): ExtractState; export declare function useStore>, U>(api: S, selector: (state: ExtractState) => U, equalityFn?: (a: U, b: U) => boolean): U; export declare type UseBoundStore>> = { (): ExtractState; (selector: (state: ExtractState) => U, equals?: (a: U, b: U) => boolean): U; } & S; declare type Create = { (initializer: StateCreator): UseBoundStore, Mos>>; (): (initializer: StateCreator) => UseBoundStore, Mos>>; >(store: S): UseBoundStore; }; declare const create: Create; export default create;