/** * Cola (Queue) — estructura FIFO (First In, First Out). * El primer elemento en entrar es el primero en salir. * Acepta cualquier valor: primitivos u objetos. * Para colas con prioridad, usar PriorityQueue. * @template T - El tipo de los valores almacenados en la cola. */ export declare class Queue { #private; /** * Agrega un valor al final de la cola. * @param value - El valor a agregar (primitivo u objeto). */ enqueue(value: T): void; /** * Elimina y retorna el valor del frente de la cola. * @returns El valor eliminado, o undefined si la cola está vacía. */ dequeue(): T | undefined; /** * Retorna el valor del frente sin eliminarlo. * @returns El valor del frente, o undefined si la cola está vacía. */ peek(): T | undefined; /** * Cancela (elimina) el primer elemento que satisface el predicado. * Para primitivos: cancel(v => v === "T-001") * Para objetos: cancel(v => v.id === "T-001") * @param predicate - Función que recibe el valor y retorna boolean. * @returns true si se canceló, false si no se encontró. */ cancel(predicate: (value: T) => boolean): boolean; /** * Retorna la posición (base 1) del primer elemento que satisface el predicado. * Para primitivos: positionOf(v => v === "T-001") * Para objetos: positionOf(v => v.id === "T-001") * @param predicate - Función que recibe el valor y retorna boolean. * @returns La posición en la cola, o undefined si no se encontró. */ positionOf(predicate: (value: T) => boolean): number | undefined; /** * Retorna un array con todos los valores en espera, sin modificar la cola. */ toArray(): T[]; /** * Vacía la cola completa. */ clear(): void; /** * Indica si la cola está vacía. */ isEmpty(): boolean; /** * Cantidad de elementos en la cola. */ get size(): number; /** * Hace la cola iterable con for...of, spread y destructuring. */ [Symbol.iterator](): Iterator; } //# sourceMappingURL=queue.d.ts.map