/** * @hidden */ export declare function injectReactiveSubscribe(object: Record): void; /** * @description `ReactiveSubscribe` is a class decorator and adds `.subscribe` and `.unsubscribe` methods. * @category Reactive-Decorator * @see Observe * @example * ```ts import { ReactiveSubscribe, Observe } from "@cfcs/core"; @ReactiveSubscribe class Component { @Observe value1 = 1; constructor() { requestAnimationFrame(() => { this.value1 = 2; }); } } interface Component extends ReactiveSubscribe<{ value1: number; value2: number; }> {} const component = new Component(); // 1 console.log(component.value1); component.subscribe("value1", nextValue => { // When the change event occurs => (2, 2) console.log(nextValue, component.value2); }); ``` */ export declare function ReactiveSubscribe(Constructor: any): void; /** * `ReactiveSubscribe` is a class decorator and adds `.subscribe` and `.unsubscribe` methods. * @category Reactive */ export interface ReactiveSubscribe> { /** * When the value of the property changes, the callback function is called. */ subscribe(name: Name, callback: (value: State[Name]) => void): void; /** * Unregister the callback function corresponding to the property. */ unsubscribe(name?: Name, callback?: (value: State[Name]) => void): void; }