import { IObservable, ITransaction } from '../observable';
export declare class ObservableMap<K, V> implements Map<K, V> {
    private readonly _data;
    private readonly _obs;
    readonly observable: IObservable<Map<K, V>>;
    get size(): number;
    has(key: K): boolean;
    get(key: K): V | undefined;
    set(key: K, value: V, tx?: ITransaction): this;
    delete(key: K, tx?: ITransaction): boolean;
    clear(tx?: ITransaction): void;
    forEach(callbackfn: (value: V, key: K, map: Map<K, V>) => void, thisArg?: unknown): void;
    entries(): IterableIterator<[K, V]>;
    keys(): IterableIterator<K>;
    values(): IterableIterator<V>;
    [Symbol.iterator](): IterableIterator<[K, V]>;
    get [Symbol.toStringTag](): string;
}
//# sourceMappingURL=map.d.ts.map