import { Events } from './Events'; /** * observe property change. */ export declare namespace observe { /** * get events of target object. * * @export * @param {*} target * @returns {Events} */ function getEvents(target: any): Events; /** * target has envents or not. * * @export * @param {*} target * @returns {boolean} */ function hasEvents(target: any): boolean; /** * on property change. * * @export * @param {*} target subscribe change handle of target. * @param {(string | ((tag: T) => any))} property subscribe change handle of target property. * @param {(vaule?: any, old?: any, target?: any, prop?: string) => void} onChange change handle. * @returns */ function onPropertyChange(target: T, property: string | ((tag: T) => any), onChange: (vaule?: any, old?: any, target?: T, prop?: string) => void, changed?: (target?: T, prop?: string, vaule?: any, old?: any) => void): void; /** * on property changed. * * @export * @template T * @param {T} target * @param {(string | ((tag: T) => any))} property * @param {(vaule?: any, old?: any, target?: T, prop?: string) => void} callback */ function onChanged(target: T, property: string | ((tag: T) => any), callback: (vaule?: any, old?: any, target?: T, prop?: string) => void, changed?: (target?: T, prop?: string, vaule?: any, old?: any) => void): void; }