import { Compare, nat } from "../index.js"; import { RedBlackSet } from "./RedBlackSet.js"; export interface RedBlackMap extends Iterable<[K, V]> { keyValues: RedBlackSet<[K, V]>; size: nat; has(key: K): boolean; get(elem: K): V | undefined; set(key: K, value: V): RedBlackMap; setMultiple(keyValuePairs: Iterable<[K, V]>): RedBlackMap; delete(key: K): RedBlackMap; deleteMultiple(keys: Iterable): RedBlackMap; minimum(): [K, V] | undefined; maximum(): [K, V] | undefined; filter(predicate: (key: K, value: V) => boolean): RedBlackMap; } export declare function promoteCompare(key: Compare): Compare<[K, any]>; export declare function RedBlackMap(order: Compare, keyValuePairs?: Iterable<[K, V]>): RedBlackMap;