/** * A multi-key multi-value map implementation. * * - When a pair of KV is set, both keys and values are indexed as keys in the * map, allowing reverse lookups. * * - Values are always a Set. * * - Deleting a key deletes it from both directions. */ export declare class MultiDict implements Omit>, "set"> { #private; /** Delete all entries */ clear(): void; /** * If a value is provided, delete only that specific pair. Otherwise, delete * all values from the specified key. */ delete(key: K, value?: V): boolean; delete(key: V, value?: K): boolean; /** * Returns an iterable of key, value pairs for every entry in the map. * * Keys and values are interchangeable, expect all existing keys and values * being invoked as the "key" once. */ entries(): IterableIterator<[K | V, Set]>; /** * Calls a function for each key-value pair in the map. * * Keys and values are interchangeable, expect all existing keys and values * being invoked as the "key" once. */ forEach(callbackfn: (value: Set, key: K | V, map: Map>) => void, thisArg?: unknown): void; /** * Returns a Set of values for the specified key. */ get(key: K): Set | undefined; get(key: V): Set | undefined; /** * Returns a boolean indicating whether an element with the specified key */ has(key: K | V): boolean; /** * Keys and values are interchangable, this is an iterator for all keys and * values. */ keys(): IterableIterator; /** * Adds or updates a key-value pair in the map. */ set(key: K, value: V): this; set(key: V, value: K): this; /** * Return the size of the map. Since keys and values are interchangeable, it * is the total number of unique keys and values. */ get size(): number; /** * Returns an iterable of values in the map. * * Keys and values are interchangeable, therefore values set as keys will be * returned as a single-value Set. */ values(): IterableIterator>; [Symbol.iterator](): IterableIterator<[K | V, Set]>; get [Symbol.toStringTag](): string; } //# sourceMappingURL=MultiDict.d.ts.map