export declare type RunTask = (...args: T[]) => Promise; export interface QueueContent { task: T; resolve: () => void; reject: (err?: any) => void; } export declare class Pool { private runTask; private limit; aborted: boolean; queue: Array>; processing: Array>; constructor(runTask: RunTask, limit: number); enqueue(task: T): Promise; private run; private check; abort(): void; }