export declare class KVMap { readonly [Symbol.toStringTag]: string; private kvMap; private vkMap; constructor(); get size(): number; get keySize(): number; get valueSize(): number; clear(): void; delete(key: K): boolean; deleteKey(key: K): boolean; deleteValue(value: V): boolean; forEach(callbackfn: (value: V, key: K, map: Map) => void, thisArg?: any): void; forEachKV(callbackfn: (value: V, key: K, map: Map) => void, thisArg?: any): void; forEachVKs(callbackfn: (keys: K[], value: V, map: Map) => void, thisArg?: any): void; get(key: K): V | undefined; getValue(key: K): V | undefined; getKeys(value: V): K[]; has(key: K): boolean; hasKey(key: K): boolean; hasValue(value: V): boolean; set(key: K, value: V): this; [Symbol.iterator](): IterableIterator<[K, V]>; entries(): IterableIterator<[K, V]>; kvEntries(): IterableIterator<[K, V]>; vkEntries(): IterableIterator<[V, K[]]>; keys(): IterableIterator; values(): IterableIterator; } export declare namespace KVMap { function fromMap(map: Map): KVMap; }