import { AnyStore } from './types';
interface Selector<ST extends AnyStore> {
    (state: ST['state']): any;
}
interface Equality<S extends AnyStore['state'] = AnyStore['state']> {
    <State extends S>(a: State, b: State): boolean;
}
/**
 * Hook factory, which creates a `useStoreState` hook bound to a given store.
 *
 * @param {Store} [store] Store
 * @returns {Function} A `useStoreState` hook bound to the specified store.
 */
export default function createUseStoreState<ST extends AnyStore>(store: ST): {
    <S extends Selector<ST>, E extends Equality<ST["state"]>>(selector: S, equalityFn?: E): ReturnType<S>;
    withSallowEqual<S_1 extends Selector<ST>>(selector: S_1): ReturnType<S_1>;
};
export {};
