/** * Cola de doble extremo (Deque — Double-Ended Queue). * Permite inserción y eliminación en ambos extremos en O(1). * Acepta cualquier valor: primitivos u objetos. * Generaliza Stack y Queue — puede comportarse como cualquiera de las dos. * @template T - El tipo de los valores almacenados en el deque. */ export declare class Deque { #private; /** * Agrega un valor al final. * @param value - El valor a agregar (primitivo u objeto). */ pushBack(value: T): void; /** * Agrega un valor al frente. * @param value - El valor a agregar (primitivo u objeto). */ pushFront(value: T): void; /** * Elimina y retorna el valor del final. * @returns El valor eliminado, o undefined si el deque está vacío. */ popBack(): T | undefined; /** * Elimina y retorna el valor del frente. * @returns El valor eliminado, o undefined si el deque está vacío. */ popFront(): T | undefined; /** * Retorna el valor del final sin eliminarlo. * @returns El valor del final, o undefined si el deque está vacío. */ peekBack(): T | undefined; /** * Retorna el valor del frente sin eliminarlo. * @returns El valor del frente, o undefined si el deque está vacío. */ peekFront(): T | undefined; /** * Indica si el deque está vacío. */ isEmpty(): boolean; /** * Cantidad de elementos en el deque. */ get size(): number; /** * Retorna un array con todos los valores del deque, de frente a fondo. */ toArray(): T[]; /** * Vacía el deque completo. */ clear(): void; /** * Hace el deque iterable con for...of, spread y destructuring. */ [Symbol.iterator](): Iterator; } //# sourceMappingURL=deque.d.ts.map