import { RBNode } from './rbNode'; export declare class RBTree { readonly comparer: (a: T, b: T) => number; count: number; root: RBNode; nil: RBNode; [Symbol.iterator](): IterableIterator; constructor(comparer: (a: T, b: T) => number); clear(): void; toNull(y: RBNode): RBNode; isEmpty(): boolean; getComparer(): (a: T, b: T) => number; getRoot(): RBNode; find(i: T, x?: RBNode): RBNode; findFirst(predicate: (t: T) => boolean, n?: RBNode): RBNode; findLast(predicate: (t: T) => boolean, n?: RBNode): RBNode; treeMinimum(x?: RBNode): RBNode; treeMaximum(x?: RBNode): RBNode; next(x: RBNode): RBNode; previous(x: RBNode): RBNode; private leftRotate; private rightRotate; private deleteFixup; deleteSubTree(z: RBNode): RBNode; deleteNodeInternal(x: RBNode): void; remove(i: T): RBNode; insert(v: T): RBNode; treeInsert(z: T): RBNode; private insertPrivate; allNodes(): IterableIterator; toString(): string; }