export declare class LinkedNode { value: T; prev: LinkedNode | null; next: LinkedNode | null; constructor(value: T); /** * add a node and break the linked collection * @template T * @param {Node} node * @return {LinkedNode} */ addNode(node: LinkedNode): LinkedNode; /** * add value and break the linked collection * @template T * @param {T} value * @return {LinkedNode} */ addValue(value: T): LinkedNode; /** * insert a node, not break the collection * @template T * @param {Node} node */ insertNode(node: LinkedNode): void; /** * insert value, not break the collection * @template T * @param {T} value */ insertValue(value: T): void; /** * remove current node in the linked collection, and return [prev, next] nodes * @return [Node|null, Node|null] */ remove(): (LinkedNode | null)[]; /** * @template T * @param {boolean} reverse * @return {T[]} */ toArray(reverse?: boolean): T[]; toString(): string; }