/** * template/bindings.ts — Runtime binding appliers. * * Responsibilities: * - Apply each Binding variant to the live DOM (attr, event, html, ref, * directive). * - Manage reactive effects and cleanup registration. * - Expose `applyBinding()` as the single dispatch entry point. * - Own the signal-to-form-control write path (`syncFormControl`) for regular * attribute bindings. */ import type { AttrBinding, Binding, HtmlBinding } from './binding-types'; export type RegisterCleanup = (fn: () => void) => void; type LiveWriteState = { last: unknown; }; /** * The single write path from a reactive value to a form control's `value`/`checked` * property for regular attribute bindings. * * Live-write: when the binding was created from `live(source)`, a write is skipped * if the DOM value has diverged from this binding's last write (in-progress user * input) — unless the incoming value already matches the DOM (write would be a no-op). */ export declare const syncFormControl: (el: HTMLInputElement | HTMLTextAreaElement | HTMLSelectElement, value: unknown, isLive?: boolean, state?: LiveWriteState) => void; export declare const applyAttrBinding: (binding: AttrBinding, registerCleanup: RegisterCleanup) => void; export declare const applyHtmlBinding: (binding: HtmlBinding, registerCleanup: RegisterCleanup) => void; export declare const applyBinding: (binding: Binding, registerCleanup: RegisterCleanup) => void; export declare const createAttrBindingFromValue: (el: HTMLElement, mode: "attr" | "bool", name: string, value: unknown) => AttrBinding; export declare const resolveStaticText: (value: unknown) => string; export {}; //# sourceMappingURL=bindings.d.ts.map