///
import { EventEmitter } from 'events';
export interface RateOptions {
queueId?: string;
delayBefore?: number;
delayAfter?: number;
uniqueKey?: string;
}
export declare class RateManager extends EventEmitter {
private counter;
emit(event: 'error', error: string): boolean;
emit(event: never, ...args: never[]): never;
on(event: 'error', listener: (error: string) => void): this;
on(event: never, listener: never): never;
private functionQueueMap;
private runningMap;
getQueueLength(queueId: string): number;
exec(func: () => T, options?: RateOptions): Promise;
private execNext;
}
//# sourceMappingURL=rate-manager.d.ts.map