import AVLTreeNode from './avl-tree-node'; import * as utils from '../../utils'; declare class AVLTree { root: AVLTreeNode | null; private sz; private compare; constructor(compareFunction?: utils.CompareFunction); /***************************************************************************** INSPECTION *****************************************************************************/ size(): number; isEmpty(): boolean; height(): number; /***************************************************************************** SEARCHING *****************************************************************************/ find(value: T): AVLTreeNode | null; contains(value: T): boolean; findMin(root?: AVLTreeNode | null): AVLTreeNode | null; findMax(root?: AVLTreeNode | null): AVLTreeNode | null; findSucessor(root: AVLTreeNode): AVLTreeNode | null; findPredecessor(root: AVLTreeNode): AVLTreeNode | null; /***************************************************************************** INSERTION/DELETION *****************************************************************************/ insert(value: T): AVLTreeNode | null; private insertHelper; private update; private balance; private leftLeftCase; private leftRightCase; private rightRightCase; private rightLeftCase; private leftRotation; private rightRotation; remove(node: AVLTreeNode): boolean; private removeHelper; private transplant; /***************************************************************************** READING *****************************************************************************/ inorderTraversal(): { [Symbol.iterator](): Iterator; }; preorderTraversal(): { [Symbol.iterator](): Iterator; }; postorderTraversal(): { [Symbol.iterator](): Iterator; }; } export default AVLTree; //# sourceMappingURL=index.d.ts.map