export declare type BooleanSet = Record; export declare type PauseObserverFn = (pause?: boolean) => void; export declare type ObserveFn = (pauseObserverFn: PauseObserverFn) => any; export interface ObserverInfo { notifyInBatches: boolean | string; running: boolean; autoStart: boolean; previousObserverId: string | null; previousObserverPause: boolean; fn: ObserveFn; targetObserverIdSets: BooleanSet[]; } export interface ObservableInfo> { propObserverIdSetMap: Record; propGetterMap: { [K in keyof T]: () => T[K]; }; } export declare type Observable = Record> = T & { __observableId: number; }; export declare type ComputationMap = { [K in keyof T]: (obj: T, value: T[K], key: K, pauseObserver: PauseObserverFn, init: boolean) => T[K]; }; export declare type ComputationValues

> = { [K in keyof P]: ReturnType; };