export default class Queue implements Iterable { /** The size of the queue. */ readonly size: number; /** Tiny queue data structure. The instance is an [`Iterable`](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Iteration_protocols), which means you can iterate over the queue front to back with a β€œfor…of” loop, or use spreading to convert the queue to an array. Don't do this unless you really need to though, since it's slow. @example ``` import Queue from 'yocto-queue'; const queue = new Queue(); queue.enqueue('πŸ¦„'); queue.enqueue('🌈'); console.log(queue.size); //=> 2 console.log(...queue); //=> 'πŸ¦„ 🌈' console.log(queue.dequeue()); //=> 'πŸ¦„' console.log(queue.dequeue()); //=> '🌈' ``` */ constructor(); [Symbol.iterator](): IterableIterator; /** Add a value to the queue. */ enqueue(value: ValueType): void; /** Remove the next value in the queue. @returns The removed value or `undefined` if the queue is empty. */ dequeue(): ValueType | undefined; /** Clear the queue. */ clear(): void; }