import type { BiMultiMap } from '@rimbu/bimultimap';
import type { MultiMap } from '@rimbu/multimap';
export namespace BiMultiMapGeneric {
/**
* The BiMultiMap generic creators interface used to construct `BiMultiMap` contexts.
*/
export interface Creators {
/**
* Returns a new BiMultiMap context instance based on the given `options`.
* @typeparam UK - the upper key type for which the context can create instances
* @typeparam UV - the upper value type for which the context can create instances
* @param options - an object containing the following properties:
* - keyValueMultiMapContext: the MultiMap context to use for key to value multimaps
* - valueKeyMultiMapContext: the MultiMap context to use for value to key multimaps
*/
createContext(options: {
keyValueMultiMapContext: MultiMap.Context;
valueKeyMultiMapContext: MultiMap.Context;
}): BiMultiMap.Context;
}
}