import * as utils from '../../utils'; declare class Queue implements Iterable { private list; constructor(equalsFunction?: utils.EqualsFunction); /***************************************************************************** INSPECTION *****************************************************************************/ /** * Returns size of queue - O(1) */ size(): number; /** * Returns true if queue is empty, false otherwise - O(1) */ isEmpty(): boolean; /** * Deletes all elements in queue - O(1) */ clear(): void; /***************************************************************************** INSERTION/DELETION *****************************************************************************/ /** * Enqueues element into queue - O(1) * @param {T} element - element to be enqueued */ enqueue(element: T): void; /** * Dequeues element from queue - O(1) * @returns {T} */ dequeue(): T | null; /***************************************************************************** ACCESSING *****************************************************************************/ /** * Peeks at the element at the front of the queue - O(1) * @returns {T} - Frontmost element */ peekFront(): T | null; /** * Peeks at the element at the back of the queue - O(1) * @returns {T} - Backmost element */ peekBack(): T | null; /***************************************************************************** SEARCHING *****************************************************************************/ /** * Checks if value is in queue - O(n) * @param {T} element - element to search for * @returns {boolean} */ contains(element: T): boolean; /***************************************************************************** HELPERS *****************************************************************************/ [Symbol.iterator](): Iterator; } export default Queue; //# sourceMappingURL=queue.d.ts.map