export interface IQueue { size(): number; enqueue(item: T): void; dequeue(): T | undefined; } export declare class Queue implements IQueue { private capacity; protected storage: T[]; constructor(capacity?: number); size(): number; toList(): T[]; enqueue(item: T): void; dequeue(): T | undefined; aggregate(aggregationFn: (values: T[]) => R): R; }