import { IObservableArray, IArrayChange, IArraySplice } from "../types/observablearray"; import { ObservableMap, IMapChange } from "../types/observablemap"; import { IObjectChange } from "../types/observableobject"; import { IComputedValue } from "../core/computedvalue"; import { IObservableValue, IValueDidChange } from "../types/observablevalue"; import { Lambda } from "../utils/utils"; export declare function observe(value: IObservableValue | IComputedValue, listener: (change: IValueDidChange) => void, fireImmediately?: boolean): Lambda; export declare function observe(observableArray: IObservableArray, listener: (change: IArrayChange | IArraySplice) => void, fireImmediately?: boolean): Lambda; export declare function observe(observableMap: ObservableMap, listener: (change: IMapChange) => void, fireImmediately?: boolean): Lambda; export declare function observe(observableMap: ObservableMap, property: string, listener: (change: IValueDidChange) => void, fireImmediately?: boolean): Lambda; export declare function observe(object: Object, listener: (change: IObjectChange) => void, fireImmediately?: boolean): Lambda; export declare function observe(object: Object, property: string, listener: (change: IValueDidChange) => void, fireImmediately?: boolean): Lambda;