/// /** * 公用的hooks 封装 */ import { Draft } from 'immer'; import { Handler } from "./message"; import { AnyFunc } from "./types"; export declare type Reducer = (draftState: Draft, action: A) => void | S; export declare type ImmerSetter = (f: (draft: Draft) => void | S) => void; export declare function useImmer(initialValue: S | (() => S)): [S, ImmerSetter]; export declare function useImmerReducer(reducer: Reducer, initialState: S, initialAction?: (initial: any) => S): [S, React.Dispatch]; export declare function useSubscriber(key: string | string[], handler: Handler): void; export declare function usePersistFn(fn: T): T;