/// <reference types="node" />
import { EventEmitter } from "events";
import { ResultCallback } from "./core/callback";
export declare class TaskQueue extends EventEmitter {
    private _execute;
    private _activeCounts;
    private _active;
    private _head;
    private _tail;
    private _closed;
    private _invalid;
    constructor(execute: (operation: number, arg: any, callback: ResultCallback<any>) => void);
    add(operation: number, wait: number, arg: any, callback?: ResultCallback<any>): void;
    readonly invalid: boolean;
    close(): void;
    private _process();
    private _finished(task);
    private _unhandledError(err);
    private _clear();
}
