export interface TaskPool { run(data: TIn): Promise; } export declare class AsyncPool implements TaskPool { private fn; private limit; constructor(fn: (data: TIn) => Promise, opts: { poolSize: number; }); run(data: TIn): Promise; } export declare class WorkerPool implements TaskPool { private source; private workers; private cleanupInterval; private limit; constructor(source: string, opts: { poolSize: number; }); private createWorker; run(data: TIn): Promise; }