/** @typedef {import("./binder-registry").ControlElement} ControlElement */ /** * @template {Element} [TElement=Element] * @template [TValue=unknown] * @typedef {import('./binder-registry').Binder} Binder */ /** * @callback OnValueChangeCallback * @param {ControlElement} component * @param {any} newValue new value to assign * @param {import('./binder-registry').OnValueChangeCallbackOptions} [options] * @returns {void} */ /** * @callback OnTouchCallback * @param {ControlElement} component * @returns {void} */ /** */ export class ControlBinding { /** * @param {Binder} binder * @param {ControlElement} controlElement * @param {OnValueChangeCallback} onChange * @param {OnTouchCallback} onTouch */ constructor(binder: Binder, controlElement: ControlElement, onChange: OnValueChangeCallback, onTouch: OnTouchCallback); /** @returns {Binder} */ get binder(): Binder; /** @param {any} newValue */ set value(arg: any); _binder: Binder; controlElement: Element; /** @type {OnValueChangeCallback} function that binds control value to the data */ controlValueChanged: OnValueChangeCallback; /** @type {OnTouchCallback} */ controlTouched: OnTouchCallback; /** @param {ControlElement} controlElement */ initialize(controlElement: ControlElement): void; /** * @param {any} newValue * @param {import('./binder-registry').OnValueChangeCallbackOptions} [options] */ onChange(newValue: any, options?: import('./binder-registry').OnValueChangeCallbackOptions): void; /** */ onTouch(): void; } export type ControlElement = import("./binder-registry").ControlElement; /** * */ export type Binder = import('./binder-registry').Binder; export type OnValueChangeCallback = (component: ControlElement, newValue: any, options?: import('./binder-registry').OnValueChangeCallbackOptions) => void; export type OnTouchCallback = (component: ControlElement) => void;