import type { Comparator } from '../types'; import type { IRbTreeNode } from './types'; import type { AvlNodeReference } from '../avl/types'; import type { Printable } from '../print/types'; export declare class RbNode implements IRbTreeNode { readonly k: K; v: V; p: RbNode | undefined; l: RbNode | undefined; r: RbNode | undefined; b: boolean; constructor(k: K, v: V); } export declare class RbMap implements Printable { root: RbNode | undefined; readonly comparator: Comparator; constructor(comparator?: Comparator); insert(k: K, v: V): AvlNodeReference>; set(k: K, v: V): AvlNodeReference>; find(k: K): AvlNodeReference> | undefined; get(k: K): V | undefined; has(k: K): boolean; getOrNextLower(k: K): RbNode | undefined; forEach(fn: (node: RbNode) => void): void; toString(tab: string): string; }