import { DeepMap } from './map'; import { Options } from './options'; /** * A DeepMap implementation that supports O(1) lookups by both keys and values * NOTE: All key-value pairs must be 1-to-1 */ export declare class BiDirectionalDeepMap extends DeepMap { private readonly valueMap; /** * @param entries optional list of key-value pairs to initialize the map * @param options configuration options */ constructor(entries?: readonly (readonly [K, V])[] | null, options?: Options); /** * @inheritdoc */ set(key: K, val: V): this; /** * @inheritdoc */ delete(key: K): boolean; /** * @inheritdoc */ clear(): void; /** * @returns true if the given value is present in the key-value map. */ hasValue(val: V): boolean; /** * @returns the key associated with the specified value */ getKeyByValue(val: V): K | undefined; /** * @returns true if a value in the map existed and has been removed, else false */ deleteByValue(val: V): boolean; }