export declare class IndexableMap<K, V, I extends string> extends Map<K, V> {
    private _indexes;
    private _indexFields;
    private _indexFilters;
    private _indexesEnabled;
    constructor(entries?: readonly (readonly [K, V])[], { indexes, indexesEnabled, }?: {
        indexes?: {
            field: keyof V;
            filter: (val: V) => boolean;
            name: I;
        }[];
        indexesEnabled?: boolean;
    });
    getByIndex<K extends keyof V>(name: I, value: V[K]): V[];
    refreshIndexes(): this;
    enableIndexes(): this;
    disableIndexes(): this;
    vacuum(): void;
    set(key: K, value: V): this;
    delete(key: K): boolean;
    clear(): void;
}
