declare class Queue { private back?; private front?; private length; private readonly lowWaterMark; private readonly highWaterMark; constructor(lowWaterMark?: number, highWaterMark?: number); /** * Put at back */ enqueue(data: T): void; /** * Alias of `enqueue` */ push(data: T): void; /** * Pop from front */ dequeue(): T | undefined; /** * Alias of `dequeue` */ shift(): T | undefined; /** * Return data from front but keep it in queue. */ peek(): T | undefined; readonly size: number; isEmpty(): boolean; aboveHighWaterMark(): boolean; underLowWaterMark(): boolean; } export { Queue };