export declare type Target = { [key: string]: any; } | Array | Map; export declare type Value = { prop: string; value: any; obj: { [key: string]: any; }; }; export declare type Observer = { properties?: Array; next: (value: Value) => void; }; export declare type Observable = { subscribe: (observer: Observer) => void; unsubscribe: (observer?: any) => void; destroy: () => void; closed: () => boolean; proxy: Target; }; export declare function observe(obj: Target, interval?: number, properties?: Array): Observable;