type Comparator = (a: T, b: T) => number; declare function defaultComparator(a: T, b: T): number; interface LinkedListNode { value: T; next?: LinkedListNode; } interface DoublyNode { value: T; next?: DoublyNode; prev?: DoublyNode; } interface CircularNode { value: T; next: CircularNode; } interface TreeNode { key: K; value: V; left?: TreeNode; right?: TreeNode; } interface AvlNode extends TreeNode { height: number; left?: AvlNode; right?: AvlNode; } export { type AvlNode as A, type CircularNode as C, type DoublyNode as D, type LinkedListNode as L, type TreeNode as T, type Comparator as a, defaultComparator as d };