export declare class LinkedListNode { value: T; next: LinkedListNode | undefined; previous: LinkedListNode | undefined; constructor(value: T, next?: LinkedListNode | undefined, previous?: LinkedListNode | undefined); } export default class LinkedList { head: LinkedListNode | undefined; tail: LinkedListNode | undefined; size: number; constructor(); /** * Iterates over the elements of the list */ [Symbol.iterator](): Generator, void, unknown>; forEach(callback: (value: LinkedListNode) => void): void; /** * Inserts an element at the end of the list * @param value */ append(value: T): void; /** * Inserts an element at the start of the list * @param value */ prepend(value: T): void; /** * Removes the first element from the list */ dropFirst(): void; /** * Removes the last element from the list */ dropLast(): void; /** * Inserts an element at a specific location in the list */ insertAt(index: number, value: T): void; find(value: T): LinkedListNode; toArray(): T[]; static fromArray(array: T[]): LinkedList; }