// @flow declare class Class0 extends Element { accessKey: string; accessKeyLabel: string; className: string; contentEditable: string; contextMenu: ?HTMLMenuElement; dataset: {[key: string]: string}; dir: "ltr" | "rtl" | "auto"; draggable: boolean; dropzone: any; hidden: boolean; id: string; innerHTML: string; isContentEditable: boolean; itemProp: any; itemScope: boolean; itemType: any; itemValue: Object; lang: string; offsetHeight: number; offsetLeft: number; offsetParent: Element; offsetTop: number; offsetWidth: number; onabort: ?Function; onblur: ?Function; oncancel: ?Function; oncanplay: ?Function; oncanplaythrough: ?Function; onchange: ?Function; onclick: ?Function; oncuechange: ?Function; ondblclick: ?Function; ondurationchange: ?Function; onemptied: ?Function; onended: ?Function; onerror: ?Function; onfocus: ?Function; oninput: ?Function; oninvalid: ?Function; onkeydown: ?Function; onkeypress: ?Function; onkeyup: ?Function; onload: ?Function; onloadeddata: ?Function; onloadedmetadata: ?Function; onloadstart: ?Function; onmousedown: ?Function; onmouseenter: ?Function; onmouseleave: ?Function; onmousemove: ?Function; onmouseout: ?Function; onmouseover: ?Function; onmouseup: ?Function; onmousewheel: ?Function; onpause: ?Function; onplay: ?Function; onplaying: ?Function; onprogress: ?Function; onratechange: ?Function; onreadystatechange: ?Function; onreset: ?Function; onresize: ?Function; onscroll: ?Function; onseeked: ?Function; onseeking: ?Function; onselect: ?Function; onshow: ?Function; onstalled: ?Function; onsubmit: ?Function; onsuspend: ?Function; ontimeupdate: ?Function; ontoggle: ?Function; onvolumechange: ?Function; onwaiting: ?Function; properties: any; spellcheck: boolean; style: CSSStyleDeclaration; tabIndex: number; title: string; translate: boolean; blur(): void; click(): void; focus(): void; forceSpellcheck(): void; getBoundingClientRect(): ClientRect; } declare class Class1 { AT_TARGET: number; BUBBLING_PHASE: number; CAPTURING_PHASE: number; bubbles: boolean; cancelable: boolean; currentTarget: EventTarget; deepPath?: () => Array; defaultPrevented: boolean; eventPhase: number; isTrusted: boolean; scoped: boolean; srcElement: Element; target: EventTarget; timeStamp: number; type: string; constructor(type: string, eventInitDict?: {bubbles?: boolean, cancelable?: boolean, composed?: boolean, scoped?: boolean}): void; initEvent(type: string, bubbles: boolean, cancelable: boolean): void; preventDefault(): void; stopImmediatePropagation(): void; stopPropagation(): void; } declare export function createButton(container: Class0, text: string, onClick: (event: Class1) => void): Class0;