import { Observable, Observer, Subscription } from 'rxjs';
export interface IdObject<K = string> {
    id: K;
}
export type DeltaObservable<K, V> = Observable<MapDelta<K, V>>;
export type IsModified<T> = (current: T, previous: T) => boolean;
export interface DeltaMapSettings<T> {
    isModified?: IsModified<T>;
    publishEmpty?: boolean;
    copyAll?: boolean;
}
export interface MapDelta<K, V> {
    all: Map<K, V>;
    added: Map<K, V>;
    deleted: Map<K, V>;
    modified: Map<K, V>;
}
export type ParitalObservable<T> = {
    partialNext(value: Partial<T>): any;
    partialSubscribe(observer: Partial<Observer<Partial<T>>>): Subscription;
};
//# sourceMappingURL=types.d.ts.map