/**
 * A FIFO queue over a growable array with amortized O(1) dequeue.
 * Entries are consumed via an index (instead of costly `Array#shift` calls),
 * and the consumed prefix is dropped once it dominates the array,
 * bounding the memory overhead to twice the live queue size.
 */
export declare class ArrayQueue<T> {
    private elements;
    private idx;
    constructor(initial?: readonly T[]);
    enqueue(item: T): void;
    /** Returns the oldest element, or `undefined` if the queue {@link isEmpty}. */
    dequeue(): T | undefined;
    get size(): number;
    isEmpty(): boolean;
}
