import { RawValue, ObjectDiffs } from "./watcher"; import { DOMWatcher } from "./dom"; import { ID } from "../runtime/runtime"; export interface Instance extends HTMLElement { __element?: RawValue; __styles?: RawValue[]; __sort?: RawValue; listeners?: { [event: string]: boolean; }; } export declare class HTMLWatcher extends DOMWatcher { tagPrefix: string; _checkedRadios: { [name: string]: RawValue; [name: number]: RawValue; }; addExternalRoot(tag: string, element: HTMLElement): void; createInstance(id: RawValue, element: RawValue, tagname: RawValue): Instance; getInstance(id: RawValue): Instance | undefined; createRoot(id: RawValue): Instance; addAttribute(instance: Instance, attribute: RawValue, value: RawValue | boolean): void; removeAttribute(instance: Instance, attribute: RawValue, value: RawValue | boolean): void; _updateURL(tagname?: string): void; _mouseEventHandler(tagname: string): (event: MouseEvent) => void; _captureContextMenuHandler(): (event: MouseEvent) => void; _inputEventHandler(tagname: string): (event: Event) => void; _changeEventHandler(tagname: string): (event: Event) => void; _keyMap: { [key: number]: string | undefined; }; _keyEventHandler(tagname: string): (event: KeyboardEvent) => void; _focusEventHandler(tagname: string): (event: FocusEvent) => void; _hoverEventHandler(tagname: string): (event: MouseEvent) => void; _hashChangeHandler(tagname: string): (event: HashChangeEvent) => void; exportListeners({ adds, removes }: ObjectDiffs<{ listener: string; elemId: ID; instanceId: RawValue; }>): void; setup(): void; }