export type PromiseFn = () => Promise; export type CallbackFn = (e: Error, ret: any) => void; export interface IMergeOptions { maxAge?: number; timeout?: number; } /** * 异步任务合并 */ export declare class AsyncMerge { static instance: AsyncMerge; static merge(fn: PromiseFn, taskId: string | number, options?: IMergeOptions): Promise; private tasks; merge(fn: PromiseFn, taskId: string | number, options?: IMergeOptions): Promise; runTask(fn: PromiseFn, taskId: string | number, taskOptions: IMergeOptions, cb: CallbackFn): void; }