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[]): this; pop(): DataClass; unshift(...args: DataClass[]): this; shift(): DataClass; clear(): this; [Symbol.iterator](): Iterator; reversed(): { [Symbol.iterator](): Iterator; next(): IteratorResult; toArray(): DataClass[]; }; insert(data: DataClass, isBefore?: SortFn): this; sort(isBefore?: SortFn): this; merge(list: LinkedList, isBefore?: SortFn): this; }