type Listener = (state: T) => void; type SetStateArg = (T extends (...args: any[]) => any ? never : T) | ((currentState: T) => T); export interface SimpleStore { readonly subscribe: (listener: Listener) => void; readonly unsubscribe: (listener: Listener) => void; readonly getStore: () => T; readonly setStore: (arg: SetStateArg) => T; } export declare const createSimpleStore: (initialStore: T) => SimpleStore; declare function useSimpleStore(store: SimpleStore, selector?: undefined, eqFn?: undefined): [T, SimpleStore['setStore']]; declare function useSimpleStore(store: SimpleStore, selector: (store: T) => U, eqFn?: (prev: U, next: U) => boolean): [U, SimpleStore['setStore']]; export default useSimpleStore; //# sourceMappingURL=useSimpleStore.d.ts.map