declare class Queue<ValueType> implements Iterable<ValueType> { /** 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 = require('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<ValueType>; /** 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; } export = Queue;