/// export interface VirtualEvent { type: string; which: number; clientX: number; clientY: number; altKey: boolean; metaKey: boolean; ctrlKey: boolean; shiftKey: boolean; detail?: any; path?: VirtualDOM.VNode[]; target?: VirtualDOM.VNode; builderElementRectMap?: { [key: string]: ClientRect | undefined; }; targetRect?: ClientRect; targetSelector?: string; builderTarget?: VirtualDOM.VNode; builderTargetRect?: ClientRect; builderTargetSelector?: string; builderRenderTarget?: VirtualDOM.VNode; builderRenderTargetRect?: ClientRect; builderRenderTargetSelector?: string; pageBlockTarget?: VirtualDOM.VNode; pageBlockTargetRect?: ClientRect; pageBlockTargetSelector?: string; } export interface DocumentEventMessage { type: 'builder.documentEvent'; data: { event: VirtualEvent; }; } export declare class EventCapturer { events: string[]; element: EventTarget; captureEvents: boolean; usePassive: boolean; includePath: boolean; editingModelName: string; observeMutations: boolean; consoleHooked: boolean; private observer?; constructor(events?: string[]); private getElementForEvent(eventName); listen(): this; removeListeners(): void; private startObservingMutations(); private stopObservingMutations(); private getBuilderClientRects(); private triggerMutationEvent(); private handleEvent; private postMessage(message); private formatMessage(event); private findParent(target, callback, checkElement?); private findBuilderParent(target); private findBuilderElementParent(target); private findContentEditableParent(target); private fastClone(obj); private getClientRect(element); private getAllParents(element); private virtualizeEvent(event); }