import { G43Collection } from "./g43-collection"; declare class Node { val: T; leftChild: Node | null; rightChild: Node | null; constructor(val: T); } /** * TODO: add comparator */ export declare class BinarySearchTree implements G43Collection { root: Node | null; private _length; get length(): number; constructor(rootValue: T); clear(): void; private addInternally; add(newValue: T): void; forEach(callback: (item: T, index: number) => boolean): void; forEachOrderedInternally(currentNode: Node | null, callback: (item: T, index: number) => boolean, order: "POST" | "PRE"): void; forEachInternally(currentNode: Node | null, callback: (item: T, index: number) => boolean): void; private searchInternally; search(value: T): Node | null; contains(value: T): boolean; remove(value: T): boolean; private removeInternally; } export {}; //# sourceMappingURL=binary-tree.d.ts.map