export declare class SinglyLinkedListNode { private element; private next; /** * Creates new SinglyLinkedListNode * @param {T} element value of list node * @param {SinglyLinkedListNode} next reference to the next node */ constructor(element: T, next: SinglyLinkedListNode); /** * Returns the value of the node * @returns {T} value of the node */ getElement(): T; /** * Returns reference to the next node * @returns {SinglyLinkedListNode | null} reference to the next node */ getNext(): SinglyLinkedListNode | null; /** * Sets next of current node to provided node * @param {SinglyLinkedListNode} next next list node */ setNext(next: SinglyLinkedListNode): void; } export declare class SinglyLinkedList { private head; private tail; private size; /** * Adds new node to the head of the list * @param {T} element value to be added */ addFirst(element: T): void; /** * Adds new node to the tail of the list * @param {T} element value to be added */ addLast(element: T): void; /** * Removes node from the head of the list * @returns {T} value of first node */ removeFirst(): T; /** * Removes node from the tail of the list * @returns {T} value of the last node */ removeLast(): T; /** * Returns value of the first node * @returns {T} value of the first node */ first(): T; /** * Returns value of the last node * @returns {T} value of last node */ last(): T; /** * Returns size of the list * @returns {number} size of the list */ getSize(): number; /** * Returns true if list size is zero, false otherwise * @returns {boolean} true if list is empty */ isEmpty(): boolean; }