import type { Stringifiable } from '..'; import type { Uint64 } from '../../dataStructures/uint64'; /** A key-value entry in the multimap */ export interface MMEntry { key: Uint64; value: V[]; } /** Represents a key-value store */ export interface MultiMapStore { length: number; get: ((key: Uint64) => V[] | undefined) | ((key: Uint64) => Promise); set: (key: Uint64, value: V) => void; entries: () => AsyncGenerator>; [Symbol.asyncIterator]: () => AsyncGenerator>; close: () => void; } /** A constructor for a vector store */ export type MultiMapStoreConstructor = new () => MultiMapStore; /** A local multimap key-value store */ export declare class MultiMap implements MultiMapStore { #private; /** Builds a new MultiMap */ constructor(); /** @returns - the length of the map */ get length(): number; /** * Adds a value to the list of values associated with a key * @param key - the key * @param value - the value to store */ set(key: Uint64, value: V): void; /** * Gets the list of values associated with a key * @param key - the key * @returns the list of values if the map contains values for the key */ get(key: Uint64): V[] | undefined; /** * iterate through the values * @yields - The values in the store */ entries(): AsyncGenerator>; /** * iterate through the values * @returns - an iterator */ [Symbol.asyncIterator](): AsyncGenerator>; /** Closes the store */ close(): void; } //# sourceMappingURL=index.d.ts.map