import TreeNode from './tree-node'; import * as utils from '../../utils'; declare class BinarySearchTree { root: TreeNode | null; private sz; private compare; constructor(compareFunction?: utils.CompareFunction); /***************************************************************************** INSPECTION *****************************************************************************/ size(): number; isEmpty(): boolean; height(): number; private heightHelper; /***************************************************************************** SEARCHING *****************************************************************************/ find(value: T): TreeNode | null; findMin(root?: TreeNode | null): TreeNode | null; findMax(root?: TreeNode | null): TreeNode | null; findSucessor(root: TreeNode): TreeNode | null; findPredecessor(root: TreeNode): TreeNode | null; /***************************************************************************** INSERTION/DELETION *****************************************************************************/ insert(value: T): TreeNode; remove(node: TreeNode): void; private transplant; /***************************************************************************** READING *****************************************************************************/ inorderTraversal(): { [Symbol.iterator](): Iterator; }; preorderTraversal(): { [Symbol.iterator](): Iterator; }; postorderTraversal(): { [Symbol.iterator](): Iterator; }; } export default BinarySearchTree; //# sourceMappingURL=index.d.ts.map