declare class Node { value: T; left: Node | null; right: Node | null; constructor(value: T, left?: null, right?: null); } export declare class BST { root: Node | null; constructor(); searchTree(node: Node, value: T): void | null; add(value: T): void | null; getMin(): T; getMax(): T; find(value: T): Node | null; contains(value: T): boolean; remove(value: T): Node | "Tree is empty" | null; findMin(root: Node): Node; findMax(root: Node): Node; searchAndRemove(node: Node | null, value: T): Node | null; } export {};