///
import { ReadonlyDoublyLinkedNode } from "../types/DoublyLinkedNode";
import { ReadonlyDoublyLinkedList } from "../interfaces/ReadonlyDoublyLinkedList";
export declare class DoublyLinkedList implements ReadonlyDoublyLinkedList {
private currentSize;
private head?;
private tail?;
constructor(values?: ReadonlyArray);
clear(): void;
getHeadNode(): ReadonlyDoublyLinkedNode | undefined;
getHeadValue(): T | undefined;
getTailNode(): ReadonlyDoublyLinkedNode | undefined;
getTailValue(): T | undefined;
isEmpty(): boolean;
popHeadValue(): T | undefined;
popTailValue(): T | undefined;
pushToHead(value: T): void;
pushToTail(value: T): void;
pushListToHead(otherList: DoublyLinkedList): void;
pushListToTail(otherList: DoublyLinkedList): void;
size(): number;
}