/// import { EventEmitter } from 'events'; export declare type Task = () => Promise; export interface TaskOutput { task: Task; output?: T; } export default class TaskManager extends EventEmitter { private maxParallel; private tasks; private remainingTasks; private processingTasks; constructor(maxParallel?: number); add(task: Task): void; execute(): void; private onTaskProcessingFinished; private startTaskProcessing; private emitEndIfAllFinished; }