export declare type PromisfyFn<T, U> = (...args: Array<T>) => Promise<U>;
declare type PromisfyFnWithCatchOptions = {
    executePromiseFn: PromisfyFn<any, any>;
    onPending?: (callArgs: Array<any>, callId: number) => void;
    onResolve?: (response: any, callId: number) => void;
    onReject?: (error: Error, callId: number) => Error | void;
};
export declare const createPromisfyFnWithCatch: (options: PromisfyFnWithCatchOptions) => (...args: any) => Promise<any>;
declare type NormalFn = (...args: Array<any>) => any;
export declare const once: (fn: NormalFn) => (...arg: Array<any>) => any;
export declare const throttle: (delay: number, fn: NormalFn) => (...args: Array<any>) => void;
declare type PollingOptions = {
    intervalTime: number;
    fn: (...args: Array<any>) => Promise<boolean> | boolean;
    immediately?: boolean;
    onEnd?: NormalFn;
};
export declare const createPolling: (options: PollingOptions) => (...args: Array<any>) => () => void;
declare type MemoryFn<T extends any[], U> = (...args: T) => U;
/**
 * memory - 返回一个缓存每次调用的结果并输出的函数
 * @param fn 计算纯函数，入参成员必须是 number | string
 * @returns 返回一个缓存入参映射结果的函数
 */
export declare const memory: <T extends any[], U>(fn: MemoryFn<T, U>) => (...args: T) => U;
export {};
