import { EventEmitter } from 'eventemitter3'; export declare class Queue extends EventEmitter { private _list; /** * Returns a copy of the internal array */ getArray(): Array; get size(): number; /** * First item */ begin(): T; /** * Last item */ end(): T; /** * Adds to the end * @param item */ add(item: T): Queue; /** * Removes from the end */ subtract(): T; /** * Alias for subtract method */ pop(): T; /** * Adds to the begin * @param item */ enqueue(item: T): Queue; /** * Removes from begin */ dequeue(): T; insertAt(index: number, ...items: T[]): Queue; removeAll(item: T, limit?: number): number; removeOne(item: T): boolean; get(index: number): T; forEach(forEachFn: (item: any, index?: any) => void): Queue; containsAtLeastOnce(item: T): boolean; }