/// <reference types="node" />
import { EventEmitter } from 'events';
/**
 * Serializes execution of events. This class is constructed with
 * a delegate function that is executed for each item that is enqueued.
 */
export declare class AsyncProcessingQueue<T> extends EventEmitter {
    private _fn;
    private _queue;
    private _flushHandle;
    constructor(fn: (...args: T[]) => Promise<void>);
    /**
     * Adds a new item to the processing queue
     */
    enqueue(value: T): void;
    /**
     * Gets the number of pending items in the processor queue
     * @type {number}
     */
    get size(): number;
    private _flush;
}
