import { AnyFn } from '../../../shared/types'; import { AsyncQueueDefine } from './types'; export * from './types'; export declare enum ENTRY_STATE { PENDING = 0, DONE = 1 } /** * @constructor 并发控制器 */ export declare class AsyncQueue { readonly name: string; private readonly processor; private readonly getKey; parallelism: number; private readonly _queued; private readonly _entries; private _activeTasks; private _processingLock; private _stopped; uniqueData: boolean; constructor({ name, processor, getKey, parallelism, uniqueData }: AsyncQueueDefine.CreatorOptions); add(item: T, callback: AsyncQueueDefine.EntryCallback): void; addAsync(item: T): Promise; private _ensureProcessing; private _startProcess; private _handlerResult; get activeTasks(): number; onActiveTaskChange: null | AnyFn; }