/*! ***************************************************************************** Copyright (c) Microsoft Corporation. Licensed under the Apache License, Version 2.0. See LICENSE file in the project root for details. ***************************************************************************** */ export declare class LinkedListNode { value: T | undefined; constructor(value?: T); get list(): LinkedList | undefined; get previous(): LinkedListNode | undefined; get next(): LinkedListNode | undefined; } export declare class LinkedList { private _head; private _size; constructor(iterable?: Iterable); get first(): LinkedListNode | undefined; get last(): LinkedListNode | undefined; get size(): number; values(): Generator; nodes(): Generator, void, unknown>; drain(): Generator; find(value: T): LinkedListNode | undefined; findLast(value: T): LinkedListNode | undefined; has(value: T): boolean; insertBefore(node: LinkedListNode, value: T): LinkedListNode; insertNodeBefore(node: LinkedListNode, newNode: LinkedListNode): void; insertAfter(node: LinkedListNode, value: T): LinkedListNode; insertNodeAfter(node: LinkedListNode, newNode: LinkedListNode): void; push(value?: T): LinkedListNode; pushNode(newNode: LinkedListNode): void; pop(): T | undefined; popNode(): LinkedListNode | undefined; shift(): T | undefined; shiftNode(): LinkedListNode | undefined; unshift(value?: T): LinkedListNode; unshiftNode(newNode: LinkedListNode): void; delete(value: T): boolean; deleteNode(node: LinkedListNode | undefined): boolean; deleteAll(predicate: (value: T, node: LinkedListNode, list: LinkedList) => boolean, thisArg?: any): number; clear(): void; forEach(callback: (value: T, node: LinkedListNode, list: LinkedList) => void, thisArg?: any): void; private _deleteNode; private _insertNode; } export interface LinkedList { [Symbol.iterator](): Iterator; }