export declare class Observe { } export declare type autorunFn = () => void; export declare type DestoryFn = autorunFn; export declare type GetDestory = (fn: autorunFn) => DestoryFn; export declare type CurrentFn = (fn: GetDestory) => autorunFn; /** * 依赖 * @class Depends */ export declare class Depends { list: autorunFn[]; /** * 手机当前依赖 * @memberof Depends */ collect(): void; /** * 执行收集的依赖 * @memberof Depends */ run(): void; } export declare function isObserve(obj: any): boolean; export declare function addObserve(ctx: any, key: string, defaultValue?: any, init?: boolean): void; /** * 监听数组 * @param arr * @param parentDepends */ export declare function observeArr(arr: never[] | undefined, parentDepends: any): any; /** * 监听对象 * @param obj * @param init */ export declare function observeObj(obj?: {}, init?: boolean): Observe; /** * 构造一个新的observe对象 * @param {objet} obj * @returns */ export declare function observer(obj: any, init?: boolean, parentDepends?: Depends): any; /** * 接受函数,当依赖的数据发生变化后,会立即执行函数 * * @param {function} fn * @returns */ export declare function autorun(fn: () => void): () => void;