import type { Stringifiable } from '..';
import type { Uint64 } from '../../dataStructures/uint64';
import type { MMEntry, MultiMapStore } from '.';
/** MMap based multimap store */
export declare class MMapMultiMap<V = Stringifiable> implements MultiMapStore<V> {
    #private;
    /**
     * Builds a new MultiMap file store
     * @param fileName - the path + file name without the extension
     */
    constructor(fileName?: string);
    /** @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): Promise<V[] | undefined>;
    /**
     * iterate through the values
     * @yields - The values in the store
     */
    entries(): AsyncGenerator<MMEntry<V>>;
    /**
     * iterate through the values
     * @returns - an iterator
     */
    [Symbol.asyncIterator](): AsyncGenerator<MMEntry<V>>;
    /** Closes the store */
    close(): void;
}
//# sourceMappingURL=mmap.d.ts.map