export declare class QueueNode { value: T; next: QueueNode | null; constructor(value: T); } export declare class Queue { head: QueueNode | null; tail: QueueNode | null; size: number; constructor(); enqueue(value: T): void; dequeue(): T | undefined; peek(): T | undefined; isEmpty(): boolean; [Symbol.iterator](): Iterator; }