import { Observable, ObserveFn, PauseObserverFn, ComputationMap, ComputationValues } from "./types"; export declare const isObservable: (resultObj: T) => resultObj is Observable; export declare const pauseObserver: PauseObserverFn; export declare const observerStart: (observerId: string) => void; export declare const observerEnd: (observerId: string) => void; export declare const unobserve: (observerId: any) => void; export declare function observe(fn: ObserveFn, notifyInBatches?: string | boolean, autoStart?: boolean): string; export declare const removeProp: (obj: T, key: K) => void; /** * Silently get an observable property value (observer will not track it) * * @param obj Observable obj * @param key Property key */ export declare const getProp: (obj: T, key: K) => T[K]; export declare const setProp: (obj: T, key: K, value: T[K]) => void; export declare function observable>(obj: T, key?: any, parent?: any): Observable; export declare function notify(obj: T, key: K): void; export declare const batch: (fn: () => void, batchId?: any) => void; export declare const batchStart: (batchId?: any) => void; export declare const batchEnd: (batchId?: any) => void; export declare const computation: = ComputationMap>(propsObj: P, batch?: boolean) => [ComputationValues

, () => void]; export declare const extract: (obj: any, deep?: boolean) => any;