import { EventEmitter } from "events"; import { Request } from "../request"; import { Heap } from './heap'; import { TimeoutHandler } from './timeout-handler'; export declare class PriorityQueue extends EventEmitter { private readonly queue; private readonly timeoutHandler; private readonly timers; private lastTimeEmpty; private _entryRequests; private _exitRequests; private logger; constructor(queue: Heap>, timeoutHandler: TimeoutHandler); add(request: Request): void; poll(): Request | null; resetCounters(): void; private scheduleTimeoutRemoval; private setLastTimeEmpty; getSecondsSinceLastEmpty(): number; get entryRequests(): number; get exitRequests(): number; isEmpty(): boolean; get length(): number; private clearTimer; }