import { Latch } from "./Latch"; export declare class AsyncWorkQueue { readonly concurrency: number; private readonly work; private readonly completion; private executing; private completed; private terminated; constructor(work: Array, concurrency?: number); execute(): Promise; enqueue(asyncTask: TypedAsyncFunction): Latch; getExecuting(): number; getCompleted(): number; private handleTaskCreation; private handleNextTask; } export declare type AsyncFunction = () => Promise; export declare type TypedAsyncFunction = () => Promise;