import { Observable } from 'rxjs';
type DestroyFn = () => void;
export declare class ObservableMap<TKey, TValue> {
    private collection;
    private changes$;
    constructor(values?: Array<[TKey, TValue]>);
    get size(): number;
    [Symbol.iterator](): IterableIterator<[TKey, TValue]>;
    keys(): TKey[];
    asArray(): TValue[];
    changes(): Observable<TValue[]>;
    add(...items: Array<[TKey, TValue]>): DestroyFn;
    get(key: TKey): TValue | undefined;
    delete(key: TKey): void;
    clear(): void;
}
export {};
