export declare class LinkNode { content: T; next: LinkNode | null; pre: LinkNode | null; constructor(content: T); } export declare class Link { private readonly sort; first: LinkNode; last: LinkNode; length: number; constructor(sort: (a: T, b: T) => number); findNodeByContent(filter: (d: T) => boolean): LinkNode | undefined; private insertNode; shiftNode(content: T): LinkNode | undefined; pushNode(content: T): LinkNode | undefined; removeNode(node: LinkNode): void; forEach(func: (content: T, index: number) => void, thisObj?: any): void; forEachReverse(func: (content: T, index: number) => void, thisObj?: any): void; getNodeByIndex(index: number): LinkNode | null; }