export declare const END: unique symbol; export declare type SortFn = (a: DataClass, b: DataClass) => boolean; export declare class ListItem { data: DataClass | symbol; next: ListItem; prev: ListItem; constructor(data?: any); } export declare class LinkedList { protected list: ListItem; constructor(...args: DataClass[]); toArray(): DataClass[]; isBefore(a: DataClass, b: DataClass): boolean; push(...args: DataClass[]): LinkedList; pop(): DataClass; unshift(...args: DataClass[]): LinkedList; shift(): DataClass; remove(...items: DataClass[]): void; clear(): LinkedList; [Symbol.iterator](): Iterator; reversed(): IterableIterator | { toArray(): DataClass[]; [Symbol.iterator](): IterableIterator; }; insert(data: DataClass, isBefore?: SortFn): this; sort(isBefore?: SortFn): LinkedList; merge(list: LinkedList, isBefore?: SortFn): LinkedList; }