import type { Printable } from '../print/types'; import type { Comparator, HeadlessNode } from '../types'; import type { AvlNodeReference, IAvlTreeNode } from './types'; export declare class AvlNode implements IAvlTreeNode { readonly k: K; v: V; p: AvlNode | undefined; l: AvlNode | undefined; r: AvlNode | undefined; bf: number; constructor(k: K, v: V); } export declare class AvlMap implements Printable { root: AvlNode | 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; del(k: K): boolean; clear(): void; has(k: K): boolean; _size: number; size(): number; isEmpty(): boolean; getOrNextLower(k: K): AvlNode | undefined; forEach(fn: (node: AvlNode) => void): void; first(): AvlNode | undefined; readonly next: (curr: N) => N | undefined; iterator0(): () => undefined | AvlNode; iterator(): Iterator>; entries(): IterableIterator>; toString(tab: string): string; }