export declare type OnChangeCallback = (this: TContext, value: T) => void; export declare type Handler = { fn(value: T): void; context: unknown; handler: Handler | null; }; export declare class ReactiveValue { value: T; handler: Handler | null; constructor(value: T); /** * Set new value and call apply method if value has been changed. */ set(value: T): void; /** * Returns current token value. */ get(): T; /** * Adds a callback on token value changes. */ on(fn: OnChangeCallback, context?: TContext): void; /** * Adds a callback on token value changes and invokes callback with current value. */ link(fn: OnChangeCallback, context?: TContext): void; /** * Removes a callback. Must be passed the same arguments as for ReactiveValue#on() method. */ off(fn: OnChangeCallback, context?: TContext): void; /** * Call all callbacks with current token value. */ apply(): void; }