import * as patch from './patch'; export declare type DOMChange = string | DocumentFragment | patch.JSONNode; export interface EventHandler { (e: Event): void; } export interface EventNotifier { (e: Event, elem: Element): void; } export declare class DOMMount { readonly doc: Document; readonly mountNode: Element; private readonly events; private readonly handler; private readonly notifier; constructor(document: Document, target: string | Element, notifier: EventNotifier); handleEvent(event: Event): void; patch(change: DOMChange): void; patchWith(change: DOMChange, nodeDictator: patch.NodeDictator, jsonDictator: patch.JSONDictator, jsonMaker: patch.JSONMaker): void; patchList(changes: Array): void; stream(changes: string): void; streamList(changes: Array): void; streamListWith(changes: Array, dictator: patch.JSONDictator, maker: patch.JSONMaker): void; registerNodeEvents(n: Node): void; registerJSONNodeEvents(node: patch.JSONNode): void; textContent(): string; innerHTML(): string; Html(): string; registerEvent(eventName: string): void; unregisterEvent(eventName: string): void; static preventDefault(event: any): void; static stopPropagation(event: any): void; }