import type { Comparator, SonicMap } from '../types'; export declare class LlrbNode { k: K; v: V; b: boolean; p: LlrbNode | undefined; l: LlrbNode | undefined; r: LlrbNode | undefined; constructor(k: K, v: V, b: boolean); } export declare class LlrbTree implements SonicMap> { readonly comparator: Comparator; min: LlrbNode | undefined; root: LlrbNode | undefined; max: LlrbNode | undefined; protected _size: number; constructor(comparator?: Comparator); set(k: K, v: V): LlrbNode; private _fixRRB; private _fixBRR; private _fixBBR; private _fix; private updateMinMax; find(k: K): LlrbNode | undefined; get(k: K): V | undefined; del(k: K): boolean; clear(): void; has(k: K): boolean; size(): number; isEmpty(): boolean; getOrNextLower(k: K): LlrbNode | undefined; forEach(fn: (node: LlrbNode) => void): void; first(): LlrbNode | undefined; last(): LlrbNode | undefined; readonly next: (curr: N) => N | undefined; iterator0(): () => undefined | LlrbNode; iterator(): Iterator>; entries(): IterableIterator>; toString(tab: string): string; }