export type BaseMapUpdateResult<K, V> = {
    inserted: [K, V][];
    updated: [K, oldvalue: V, newValue: V][];
};
export interface BaseMap<K, V> extends Map<K, V> {
    getAll(keys: IterableIterator<K>): ReadonlyMap<K, V>;
    set(key: K, value: V, callback?: (oldValue: V | undefined) => void): this;
    setAll(entries: ReadonlyMap<K, V>, callback?: (result: BaseMapUpdateResult<K, V>) => void): this;
    insert(key: K, value: V): V | undefined;
    insertAll(entries: ReadonlyMap<K, V>): ReadonlyMap<K, V>;
    deleteAll(keys: IterableIterator<K>): K[];
    remove(key: K): V | undefined;
    removeAll(keys: IterableIterator<K>): ReadonlyMap<K, V>;
}
export declare class MemoryBaseMap<K, V> extends Map<K, V> implements BaseMap<K, V> {
    constructor(entries?: ReadonlyMap<K, V>);
    getAll(keys: IterableIterator<K>): ReadonlyMap<K, V>;
    set(key: K, value: V, callback?: (oldValue: V | undefined) => void): this;
    setAll(entries: ReadonlyMap<K, V>, callback?: (result: BaseMapUpdateResult<K, V>) => void): this;
    insert(key: K, value: V): V | undefined;
    insertAll(entries: ReadonlyMap<K, V>): ReadonlyMap<K, V>;
    deleteAll(keys: IterableIterator<K>): K[];
    remove(key: K): V | undefined;
    removeAll(keys: IterableIterator<K>): ReadonlyMap<K, V>;
}
//# sourceMappingURL=BaseMap.d.ts.map