import type { PropertyPathItem, ViewModel } from '../vm'; import { VM_WATCHER_VALUE } from '../vm'; import { type ComponentHost } from './component'; export declare function watchForRender(watcher: Pick, renderFn: (v: unknown) => void, hostComponent: ComponentHost): void; /** * 给编译器使用的 dom 元素的事件绑定器。会记住上一次绑定的事件,再次绑定时先解绑上一次绑定的。 * 用于当 dom 元素的事件属性的值是非函数时,搭配 ExprWatcher 等进行动态绑定。 */ export declare function watchForDOMEventBind(watcher: Pick, $ele: Element | Window | Document, eventName: string, capture: boolean, hostComponent: ComponentHost): void; /** * watchForDOMEventBind 的简化版本,用于最简单的诸如 {props.a.b.c} 这样的纯 path 的表达式事件属性的监控。 */ export declare function watchPathForDOMEventBind(target: ViewModel, path: PropertyPathItem[], $ele: Element | Window | Document, eventName: string, capture: boolean, hostComponent: ComponentHost): void; /** * 用于最简单的诸如 {this.a.b.c} 这样的纯 path 的表达式的监控。同时也支持附带了简单 `!` 运算符的情况。 * @param notOp 0 代表不进行 bool 转换,1 代表一次(!运算,例如 `