import { PromiseFactory } from './QueuedPromise';
/**
 * Throttle the promise and only execute them one at a time
 */
export declare class PromiseThrottler {
    private _delayBetweenPromise;
    private _queue;
    private _lastStart;
    /**
     *
     * @param {number} delayBetweenPromise in milliseconds
     */
    constructor(delayBetweenPromise: number);
    /**
     * Delay between promises
     * @param {number} value
     */
    delayBetweenPromise: number;
    /**
     * Add a promise to the queue
     * @param {PromiseFactory<T>} promiseFactory
     * @returns {Promise<T>}
     */
    add<T>(promiseFactory: PromiseFactory<T>): Promise<T>;
    private _dequeue();
    private _execute();
}
