/** * Observer class that is attached to each observed * object. Once attached, the observer converts the target * object's property keys into getter/setters that * collect dependencies and dispatch updates. */ import Dep from "./dep"; export declare let shouldObserve: boolean; export declare class Observer { value: any; dep: Dep; vmCount: number; constructor(value: any); /** * Walk through all properties and convert them into * getter/setters. This method should only be called when * value type is Object. */ walk(obj: Object): void; /** * Observe a list of Array items. */ observeArray(items: Array): void; } /** * Define a reactive property on an Object. */ export declare function defineReactive(obj: { [key: string]: any; }, key: string, val?: any, customSetter?: Function, shallow?: boolean): void; /** * Attempt to create an observer instance for a value, * returns the new observer if successfully observed, * or the existing observer if the value already has one. */ export declare function observe(value: any, asRootData?: boolean): Observer | void;