export class BinarySearchTreeNode { constructor(value: T); setValue(value?: T): BinarySearchTreeNode; getValue(): T; setLeft(left?: BinarySearchTreeNode): BinarySearchTreeNode; getLeft(): BinarySearchTreeNode | null; hasLeft(): boolean; setRight(right?: BinarySearchTreeNode): BinarySearchTreeNode; getRight(): BinarySearchTreeNode | null; hasRight(): boolean; setParent(parent?: BinarySearchTreeNode): BinarySearchTreeNode; getParent(): BinarySearchTreeNode | null; hasParent(): boolean; isRoot(): boolean; isLeaf(): boolean; }