import { MultiMap } from "../utils/MultiMap"; import { IndexSchema } from "../table/IndexSchema"; import { ItemEqualityFn } from "../table/IndexUtils"; import { TableIndexType } from "../table/Table"; import { TableIndex } from "../table/TableIndex"; import { Item } from "../table"; export declare class MultiMapIndex implements TableIndex { items: MultiMap; schema: IndexSchema; indexType: TableIndexType; constructor(schema: IndexSchema); insert(item: ItemType): void; getWithIndexKey(indexKey: any): ItemType; getListWithIndexKey(indexKey: any): ItemType[]; hasIndexKey(indexKey: any): boolean; getAllAsList(): any[]; getAsValue(): ItemType[]; iterateWithIndexKey(indexKey: any): IterableIterator; iterateAll(): IterableIterator; deleteAll(): void; deleteAllWithIndexKey(indexKey: any): void; deleteItem(indexKey: any, isEqual: ItemEqualityFn): void; updateItemChangedIndexKey(item: ItemType, isEqual: ItemEqualityFn, oldIndex: any, newIndex: any): void; getCount(): number; updateAll(updateCallbackFn: (item: ItemType) => any): void; updateWithIndexKey(indexKey: any, updateCallbackFn: (item: ItemType) => ItemType): void; replaceItemUsingRefEquality(indexKey: any, oldItem: ItemType, newItem: ItemType): void; deleteItemUsingRefEquality(indexKey: any, item: ItemType): void; }