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