import { Nullable } from '../../../types'; import type { LinkedNode } from './linkedNode'; declare class LinkedList { head: Nullable; tail: Nullable; length: number; iterator(curNode?: Nullable, length?: number): Generator; append(...nodes: T[]): void; contains(node: T): boolean; insertBefore(node: T, refNode?: T | null): void; offset(node: T): number; remove(node: T): void; find(index: number): T | null; forEach(callback: (cur: T, i: number) => void): void; forEachAt(index: number, length: number | undefined, callback: (cur: T, i: number) => void): void; map(callback: (cur: T, i: number) => M): M[]; reduce(callback: (memo: M, cur: T, i: number) => M, memo: M): M; } export default LinkedList;