Module Dom.Document

module Impl: (T: { ... }) => { ... };
type t = Dom.document;
include { ... };
let asNode: t => Dom.node;
let childNodes: t => Dom.nodeList;
let firstChild: t => option(Dom.node);
let innerText: t => string;
let setInnerText: t => string => unit;
let lastChild: t => option(Dom.node);
let nextSibling: t => option(Dom.node);
let nodeName: t => string;
let nodeType: t => Webapi__Dom__Types.nodeType;
let nodeValue: t => option(string);
let setNodeValue: t => Js.null(string) => unit;
let ownerDocument: t => Dom.document;
let parentElement: t => option(Dom.element);
let parentNode: t => option(Dom.node);
let previousSibling: t => option(Dom.node);
let rootNode: t => Dom.node;
let textContent: t => string;
let setTextContent: t => string => unit;
let appendChild: Dom.node_like('a) => t => unit;
let cloneNode: t => t;
let cloneNodeDeep: t => t;
let compareDocumentPosition: Dom.node_like('a) => t => int;
let contains: Dom.node_like('a) => t => bool;
let getRootNode: t => Dom.node;
let getRootNodeComposed: t => Dom.node;
let hasChildNodes: t => bool;
let insertBefore: Dom.node_like('a) => Dom.node_like('b) => t => Dom.node_like('a);
let isDefaultNamespace: string => t => bool;
let isEqualNode: Dom.node_like('a) => t => bool;
let isSameNode: Dom.node_like('a) => t => bool;
let lookupNamespaceURI: string => t => option(string);
let lookupDefaultNamespaceURI: t => option(string);
let lookupPrefix: t => string;
let normalize: t => unit;
let removeChild: Dom.node_like('a) => t => Dom.node_like('a);
let replaceChild: Dom.node_like('a) => Dom.node_like('b) => t => Dom.node_like('b);
include { ... };
let asEventTarget: t => Dom.eventTarget;
let addEventListener: string => (Dom.event => unit) => t => unit;
let addEventListenerWithOptions: string => (Dom.event => unit) => Js.t({. capture: bool, once: bool, passive: bool, }) => t => unit;
let addEventListenerUseCapture: string => (Dom.event => unit) => t => unit;
let removeEventListener: string => (Dom.event => unit) => t => unit;
let removeEventListenerWithOptions: string => (Dom.event => unit) => Js.t({. capture: bool, passive: bool, }) => t => unit;
let removeEventListenerUseCapture: string => (Dom.event => unit) => t => unit;
let dispatchEvent: Dom.event_like('a) => t => bool;
let addLoadEventListener: (Dom.event => unit) => t => unit;
let addLoadEventListenerWithOptions: (Dom.event => unit) => Js.t({. capture: bool, once: bool, passive: bool, }) => t => unit;
let addLoadEventListenerUseCapture: (Dom.event => unit) => t => unit;
let removeLoadEventListener: (Dom.event => unit) => t => unit;
let removeLoadEventListenerWithOptions: (Dom.event => unit) => Js.t({. capture: bool, passive: bool, }) => t => unit;
let removeLoadEventListenerUseCapture: (Dom.event => unit) => t => unit;
let addUnloadEventListener: (Dom.event => unit) => t => unit;
let addUnloadEventListenerWithOptions: (Dom.event => unit) => Js.t({. capture: bool, once: bool, passive: bool, }) => t => unit;
let addUnloadEventListenerUseCapture: (Dom.event => unit) => t => unit;
let removeUnloadEventListener: (Dom.event => unit) => t => unit;
let removeUnloadEventListenerWithOptions: (Dom.event => unit) => Js.t({. capture: bool, passive: bool, }) => t => unit;
let removeUnloadEventListenerUseCapture: (Dom.event => unit) => t => unit;
let addAbortEventListener: (Dom.event => unit) => t => unit;
let addAbortEventListenerWithOptions: (Dom.event => unit) => Js.t({. capture: bool, once: bool, passive: bool, }) => t => unit;
let addAbortEventListenerUseCapture: (Dom.event => unit) => t => unit;
let removeAbortEventListener: (Dom.event => unit) => t => unit;
let removeAbortEventListenerWithOptions: (Dom.event => unit) => Js.t({. capture: bool, passive: bool, }) => t => unit;
let removeAbortEventListenerUseCapture: (Dom.event => unit) => t => unit;
let addErrorEventListener: (Dom.event => unit) => t => unit;
let addErrorEventListenerWithOptions: (Dom.event => unit) => Js.t({. capture: bool, once: bool, passive: bool, }) => t => unit;
let addErrorEventListenerUseCapture: (Dom.event => unit) => t => unit;
let removeErrorEventListener: (Dom.event => unit) => t => unit;
let removeErrorEventListenerWithOptions: (Dom.event => unit) => Js.t({. capture: bool, passive: bool, }) => t => unit;
let removeErrorEventListenerUseCapture: (Dom.event => unit) => t => unit;
let addSelectEventListener: (Dom.event => unit) => t => unit;
let addSelectEventListenerWithOptions: (Dom.event => unit) => Js.t({. capture: bool, once: bool, passive: bool, }) => t => unit;
let addSelectEventListenerUseCapture: (Dom.event => unit) => t => unit;
let removeSelectEventListener: (Dom.event => unit) => t => unit;
let removeSelectEventListenerWithOptions: (Dom.event => unit) => Js.t({. capture: bool, passive: bool, }) => t => unit;
let removeSelectEventListenerUseCapture: (Dom.event => unit) => t => unit;
let addBlurEventListener: (Dom.focusEvent => unit) => t => unit;
let addBlurEventListenerWithOptions: (Dom.focusEvent => unit) => Js.t({. capture: bool, once: bool, passive: bool, }) => t => unit;
let addBlurEventListenerUseCapture: (Dom.focusEvent => unit) => t => unit;
let removeBlurEventListener: (Dom.focusEvent => unit) => t => unit;
let removeBlurEventListenerWithOptions: (Dom.focusEvent => unit) => Js.t({. capture: bool, passive: bool, }) => t => unit;
let removeBlurEventListenerUseCapture: (Dom.focusEvent => unit) => t => unit;
let addFocusEventListener: (Dom.focusEvent => unit) => t => unit;
let addFocusEventListenerWithOptions: (Dom.focusEvent => unit) => Js.t({. capture: bool, once: bool, passive: bool, }) => t => unit;
let addFocusEventListenerUseCapture: (Dom.focusEvent => unit) => t => unit;
let removeFocusEventListener: (Dom.focusEvent => unit) => t => unit;
let removeFocusEventListenerWithOptions: (Dom.focusEvent => unit) => Js.t({. capture: bool, passive: bool, }) => t => unit;
let removeFocusEventListenerUseCapture: (Dom.focusEvent => unit) => t => unit;
let addFocusInEventListener: (Dom.focusEvent => unit) => t => unit;
let addFocusInEventListenerWithOptions: (Dom.focusEvent => unit) => Js.t({. capture: bool, once: bool, passive: bool, }) => t => unit;
let addFocusInEventListenerUseCapture: (Dom.focusEvent => unit) => t => unit;
let removeFocusInEventListener: (Dom.focusEvent => unit) => t => unit;
let removeFocusInEventListenerWithOptions: (Dom.focusEvent => unit) => Js.t({. capture: bool, passive: bool, }) => t => unit;
let removeFocusInEventListenerUseCapture: (Dom.focusEvent => unit) => t => unit;
let addFocusOutEventListener: (Dom.focusEvent => unit) => t => unit;
let addFocusOutEventListenerWithOptions: (Dom.focusEvent => unit) => Js.t({. capture: bool, once: bool, passive: bool, }) => t => unit;
let addFocusOutEventListenerUseCapture: (Dom.focusEvent => unit) => t => unit;
let removeFocusOutEventListener: (Dom.focusEvent => unit) => t => unit;
let removeFocusOutEventListenerWithOptions: (Dom.focusEvent => unit) => Js.t({. capture: bool, passive: bool, }) => t => unit;
let removeFocusOutEventListenerUseCapture: (Dom.focusEvent => unit) => t => unit;
let addClickEventListener: (Dom.mouseEvent => unit) => t => unit;
let addClickEventListenerWithOptions: (Dom.mouseEvent => unit) => Js.t({. capture: bool, once: bool, passive: bool, }) => t => unit;
let addClickEventListenerUseCapture: (Dom.mouseEvent => unit) => t => unit;
let removeClickEventListener: (Dom.mouseEvent => unit) => t => unit;
let removeClickEventListenerWithOptions: (Dom.mouseEvent => unit) => Js.t({. capture: bool, passive: bool, }) => t => unit;
let removeClickEventListenerUseCapture: (Dom.mouseEvent => unit) => t => unit;
let addDblClickEventListener: (Dom.mouseEvent => unit) => t => unit;
let addDblClickEventListenerWithOptions: (Dom.mouseEvent => unit) => Js.t({. capture: bool, once: bool, passive: bool, }) => t => unit;
let addDblClickEventListenerUseCapture: (Dom.mouseEvent => unit) => t => unit;
let removeDblClickEventListener: (Dom.mouseEvent => unit) => t => unit;
let removeDblClickEventListenerWithOptions: (Dom.mouseEvent => unit) => Js.t({. capture: bool, passive: bool, }) => t => unit;
let removeDblClickEventListenerUseCapture: (Dom.mouseEvent => unit) => t => unit;
let addMouseDownEventListener: (Dom.mouseEvent => unit) => t => unit;
let addMouseDownEventListenerWithOptions: (Dom.mouseEvent => unit) => Js.t({. capture: bool, once: bool, passive: bool, }) => t => unit;
let addMouseDownEventListenerUseCapture: (Dom.mouseEvent => unit) => t => unit;
let removeMouseDownEventListener: (Dom.mouseEvent => unit) => t => unit;
let removeMouseDownEventListenerWithOptions: (Dom.mouseEvent => unit) => Js.t({. capture: bool, passive: bool, }) => t => unit;
let removeMouseDownEventListenerUseCapture: (Dom.mouseEvent => unit) => t => unit;
let addMouseEnterEventListener: (Dom.mouseEvent => unit) => t => unit;
let addMouseEnterEventListenerWithOptions: (Dom.mouseEvent => unit) => Js.t({. capture: bool, once: bool, passive: bool, }) => t => unit;
let addMouseEnterEventListenerUseCapture: (Dom.mouseEvent => unit) => t => unit;
let removeMouseEnterEventListener: (Dom.mouseEvent => unit) => t => unit;
let removeMouseEnterEventListenerWithOptions: (Dom.mouseEvent => unit) => Js.t({. capture: bool, passive: bool, }) => t => unit;
let removeMouseEnterEventListenerUseCapture: (Dom.mouseEvent => unit) => t => unit;
let addMouseMoveEventListener: (Dom.mouseEvent => unit) => t => unit;
let addMouseMoveEventListenerWithOptions: (Dom.mouseEvent => unit) => Js.t({. capture: bool, once: bool, passive: bool, }) => t => unit;
let addMouseMoveEventListenerUseCapture: (Dom.mouseEvent => unit) => t => unit;
let removeMouseMoveEventListener: (Dom.mouseEvent => unit) => t => unit;
let removeMouseMoveEventListenerWithOptions: (Dom.mouseEvent => unit) => Js.t({. capture: bool, passive: bool, }) => t => unit;
let removeMouseMoveEventListenerUseCapture: (Dom.mouseEvent => unit) => t => unit;
let addMouseOutEventListener: (Dom.mouseEvent => unit) => t => unit;
let addMouseOutEventListenerWithOptions: (Dom.mouseEvent => unit) => Js.t({. capture: bool, once: bool, passive: bool, }) => t => unit;
let addMouseOutEventListenerUseCapture: (Dom.mouseEvent => unit) => t => unit;
let removeMouseOutEventListener: (Dom.mouseEvent => unit) => t => unit;
let removeMouseOutEventListenerWithOptions: (Dom.mouseEvent => unit) => Js.t({. capture: bool, passive: bool, }) => t => unit;
let removeMouseOutEventListenerUseCapture: (Dom.mouseEvent => unit) => t => unit;
let addMouseOverEventListener: (Dom.mouseEvent => unit) => t => unit;
let addMouseOverEventListenerWithOptions: (Dom.mouseEvent => unit) => Js.t({. capture: bool, once: bool, passive: bool, }) => t => unit;
let addMouseOverEventListenerUseCapture: (Dom.mouseEvent => unit) => t => unit;
let removeMouseOverEventListener: (Dom.mouseEvent => unit) => t => unit;
let removeMouseOverEventListenerWithOptions: (Dom.mouseEvent => unit) => Js.t({. capture: bool, passive: bool, }) => t => unit;
let removeMouseOverEventListenerUseCapture: (Dom.mouseEvent => unit) => t => unit;
let addMouseUpEventListener: (Dom.mouseEvent => unit) => t => unit;
let addMouseUpEventListenerWithOptions: (Dom.mouseEvent => unit) => Js.t({. capture: bool, once: bool, passive: bool, }) => t => unit;
let addMouseUpEventListenerUseCapture: (Dom.mouseEvent => unit) => t => unit;
let removeMouseUpEventListener: (Dom.mouseEvent => unit) => t => unit;
let removeMouseUpEventListenerWithOptions: (Dom.mouseEvent => unit) => Js.t({. capture: bool, passive: bool, }) => t => unit;
let removeMouseUpEventListenerUseCapture: (Dom.mouseEvent => unit) => t => unit;
let addWheelEventListener: (Dom.wheelEvent => unit) => t => unit;
let addWheelEventListenerWithOptions: (Dom.wheelEvent => unit) => Js.t({. capture: bool, once: bool, passive: bool, }) => t => unit;
let addWheelEventListenerUseCapture: (Dom.wheelEvent => unit) => t => unit;
let removeWheelEventListener: (Dom.wheelEvent => unit) => t => unit;
let removeWheelEventListenerWithOptions: (Dom.wheelEvent => unit) => Js.t({. capture: bool, passive: bool, }) => t => unit;
let removeWheelEventListenerUseCapture: (Dom.wheelEvent => unit) => t => unit;
let addBeforeInputEventListener: (Dom.inputEvent => unit) => t => unit;
let addBeforeInputEventListenerWithOptions: (Dom.inputEvent => unit) => Js.t({. capture: bool, once: bool, passive: bool, }) => t => unit;
let addBeforeInputEventListenerUseCapture: (Dom.inputEvent => unit) => t => unit;
let removeBeforeInputEventListener: (Dom.inputEvent => unit) => t => unit;
let removeBeforeInputEventListenerWithOptions: (Dom.inputEvent => unit) => Js.t({. capture: bool, passive: bool, }) => t => unit;
let removeBeforeInputEventListenerUseCapture: (Dom.inputEvent => unit) => t => unit;
let addInputEventListener: (Dom.inputEvent => unit) => t => unit;
let addInputEventListenerWithOptions: (Dom.inputEvent => unit) => Js.t({. capture: bool, once: bool, passive: bool, }) => t => unit;
let addInputEventListenerUseCapture: (Dom.inputEvent => unit) => t => unit;
let removeInputEventListener: (Dom.inputEvent => unit) => t => unit;
let removeInputEventListenerWithOptions: (Dom.inputEvent => unit) => Js.t({. capture: bool, passive: bool, }) => t => unit;
let removeInputEventListenerUseCapture: (Dom.inputEvent => unit) => t => unit;
let addKeyDownEventListener: (Dom.keyboardEvent => unit) => t => unit;
let addKeyDownEventListenerWithOptions: (Dom.keyboardEvent => unit) => Js.t({. capture: bool, once: bool, passive: bool, }) => t => unit;
let addKeyDownEventListenerUseCapture: (Dom.keyboardEvent => unit) => t => unit;
let removeKeyDownEventListener: (Dom.keyboardEvent => unit) => t => unit;
let removeKeyDownEventListenerWithOptions: (Dom.keyboardEvent => unit) => Js.t({. capture: bool, passive: bool, }) => t => unit;
let removeKeyDownEventListenerUseCapture: (Dom.keyboardEvent => unit) => t => unit;
let addKeyUpEventListener: (Dom.keyboardEvent => unit) => t => unit;
let addKeyUpEventListenerWithOptions: (Dom.keyboardEvent => unit) => Js.t({. capture: bool, once: bool, passive: bool, }) => t => unit;
let addKeyUpEventListenerUseCapture: (Dom.keyboardEvent => unit) => t => unit;
let removeKeyUpEventListener: (Dom.keyboardEvent => unit) => t => unit;
let removeKeyUpEventListenerWithOptions: (Dom.keyboardEvent => unit) => Js.t({. capture: bool, passive: bool, }) => t => unit;
let removeKeyUpEventListenerUseCapture: (Dom.keyboardEvent => unit) => t => unit;
let addKeyPressEventListener: (Dom.keyboardEvent => unit) => t => unit;
let addKeyPressEventListenerWithOptions: (Dom.keyboardEvent => unit) => Js.t({. capture: bool, once: bool, passive: bool, }) => t => unit;
let addKeyPressEventListenerUseCapture: (Dom.keyboardEvent => unit) => t => unit;
let removeKeyPressEventListener: (Dom.keyboardEvent => unit) => t => unit;
let removeKeyPressEventListenerWithOptions: (Dom.keyboardEvent => unit) => Js.t({. capture: bool, passive: bool, }) => t => unit;
let removeKeyPressEventListenerUseCapture: (Dom.keyboardEvent => unit) => t => unit;
let addCompositionStartEventListener: (Dom.compositionEvent => unit) => t => unit;
let addCompositionStartEventListenerWithOptions: (Dom.compositionEvent => unit) => Js.t({. capture: bool, once: bool, passive: bool, }) => t => unit;
let addCompositionStartEventListenerUseCapture: (Dom.compositionEvent => unit) => t => unit;
let removeCompositionStartEventListener: (Dom.compositionEvent => unit) => t => unit;
let removeCompositionStartEventListenerWithOptions: (Dom.compositionEvent => unit) => Js.t({. capture: bool, passive: bool, }) => t => unit;
let removeCompositionStartEventListenerUseCapture: (Dom.compositionEvent => unit) => t => unit;
let addCompositionUpdateEventListener: (Dom.compositionEvent => unit) => t => unit;
let addCompositionUpdateEventListenerWithOptions: (Dom.compositionEvent => unit) => Js.t({. capture: bool, once: bool, passive: bool, }) => t => unit;
let addCompositionUpdateEventListenerUseCapture: (Dom.compositionEvent => unit) => t => unit;
let removeCompositionUpdateEventListener: (Dom.compositionEvent => unit) => t => unit;
let removeCompositionUpdateEventListenerWithOptions: (Dom.compositionEvent => unit) => Js.t({. capture: bool, passive: bool, }) => t => unit;
let removeCompositionUpdateEventListenerUseCapture: (Dom.compositionEvent => unit) => t => unit;
let addCompositionEndEventListener: (Dom.compositionEvent => unit) => t => unit;
let addCompositionEndEventListenerWithOptions: (Dom.compositionEvent => unit) => Js.t({. capture: bool, once: bool, passive: bool, }) => t => unit;
let addCompositionEndEventListenerUseCapture: (Dom.compositionEvent => unit) => t => unit;
let removeCompositionEndEventListener: (Dom.compositionEvent => unit) => t => unit;
let removeCompositionEndEventListenerWithOptions: (Dom.compositionEvent => unit) => Js.t({. capture: bool, passive: bool, }) => t => unit;
let removeCompositionEndEventListenerUseCapture: (Dom.compositionEvent => unit) => t => unit;
let addDragEventListener: (Dom.dragEvent => unit) => t => unit;
let addDragEventListenerWithOptions: (Dom.dragEvent => unit) => Js.t({. capture: bool, once: bool, passive: bool, }) => t => unit;
let addDragEventListenerUseCapture: (Dom.dragEvent => unit) => t => unit;
let removeDragEventListener: (Dom.dragEvent => unit) => t => unit;
let removeDragEventListenerWithOptions: (Dom.dragEvent => unit) => Js.t({. capture: bool, passive: bool, }) => t => unit;
let removeDragEventListenerUseCapture: (Dom.dragEvent => unit) => t => unit;
let addDragEndEventListener: (Dom.dragEvent => unit) => t => unit;
let addDragEndEventListenerWithOptions: (Dom.dragEvent => unit) => Js.t({. capture: bool, once: bool, passive: bool, }) => t => unit;
let addDragEndEventListenerUseCapture: (Dom.dragEvent => unit) => t => unit;
let removeDragEndEventListener: (Dom.dragEvent => unit) => t => unit;
let removeDragEndEventListenerWithOptions: (Dom.dragEvent => unit) => Js.t({. capture: bool, passive: bool, }) => t => unit;
let removeDragEndEventListenerUseCapture: (Dom.dragEvent => unit) => t => unit;
let addDragEnterEventListener: (Dom.dragEvent => unit) => t => unit;
let addDragEnterEventListenerWithOptions: (Dom.dragEvent => unit) => Js.t({. capture: bool, once: bool, passive: bool, }) => t => unit;
let addDragEnterEventListenerUseCapture: (Dom.dragEvent => unit) => t => unit;
let removeDragEnterEventListener: (Dom.dragEvent => unit) => t => unit;
let removeDragEnterEventListenerWithOptions: (Dom.dragEvent => unit) => Js.t({. capture: bool, passive: bool, }) => t => unit;
let removeDragEnterEventListenerUseCapture: (Dom.dragEvent => unit) => t => unit;
let addDragExitEventListener: (Dom.dragEvent => unit) => t => unit;
let addDragExitEventListenerWithOptions: (Dom.dragEvent => unit) => Js.t({. capture: bool, once: bool, passive: bool, }) => t => unit;
let addDragExitEventListenerUseCapture: (Dom.dragEvent => unit) => t => unit;
let removeDragExitEventListener: (Dom.dragEvent => unit) => t => unit;
let removeDragExitEventListenerWithOptions: (Dom.dragEvent => unit) => Js.t({. capture: bool, passive: bool, }) => t => unit;
let removeDragExitEventListenerUseCapture: (Dom.dragEvent => unit) => t => unit;
let addDragLeaveEventListener: (Dom.dragEvent => unit) => t => unit;
let addDragLeaveEventListenerWithOptions: (Dom.dragEvent => unit) => Js.t({. capture: bool, once: bool, passive: bool, }) => t => unit;
let addDragLeaveEventListenerUseCapture: (Dom.dragEvent => unit) => t => unit;
let removeDragLeaveEventListener: (Dom.dragEvent => unit) => t => unit;
let removeDragLeaveEventListenerWithOptions: (Dom.dragEvent => unit) => Js.t({. capture: bool, passive: bool, }) => t => unit;
let removeDragLeaveEventListenerUseCapture: (Dom.dragEvent => unit) => t => unit;
let addDragOverEventListener: (Dom.dragEvent => unit) => t => unit;
let addDragOverEventListenerWithOptions: (Dom.dragEvent => unit) => Js.t({. capture: bool, once: bool, passive: bool, }) => t => unit;
let addDragOverEventListenerUseCapture: (Dom.dragEvent => unit) => t => unit;
let removeDragOverEventListener: (Dom.dragEvent => unit) => t => unit;
let removeDragOverEventListenerWithOptions: (Dom.dragEvent => unit) => Js.t({. capture: bool, passive: bool, }) => t => unit;
let removeDragOverEventListenerUseCapture: (Dom.dragEvent => unit) => t => unit;
let addDragStartEventListener: (Dom.dragEvent => unit) => t => unit;
let addDragStartEventListenerWithOptions: (Dom.dragEvent => unit) => Js.t({. capture: bool, once: bool, passive: bool, }) => t => unit;
let addDragStartEventListenerUseCapture: (Dom.dragEvent => unit) => t => unit;
let removeDragStartEventListener: (Dom.dragEvent => unit) => t => unit;
let removeDragStartEventListenerWithOptions: (Dom.dragEvent => unit) => Js.t({. capture: bool, passive: bool, }) => t => unit;
let removeDragStartEventListenerUseCapture: (Dom.dragEvent => unit) => t => unit;
let addDropEventListener: (Dom.dragEvent => unit) => t => unit;
let addDropEventListenerWithOptions: (Dom.dragEvent => unit) => Js.t({. capture: bool, once: bool, passive: bool, }) => t => unit;
let addDropEventListenerUseCapture: (Dom.dragEvent => unit) => t => unit;
let removeDropEventListener: (Dom.dragEvent => unit) => t => unit;
let removeDropEventListenerWithOptions: (Dom.dragEvent => unit) => Js.t({. capture: bool, passive: bool, }) => t => unit;
let removeDropEventListenerUseCapture: (Dom.dragEvent => unit) => t => unit;
let addTouchCancelEventListener: (Dom.touchEvent => unit) => t => unit;
let addTouchCancelEventListenerWithOptions: (Dom.touchEvent => unit) => Js.t({. capture: bool, once: bool, passive: bool, }) => t => unit;
let addTouchCancelEventListenerUseCapture: (Dom.touchEvent => unit) => t => unit;
let removeTouchCancelEventListener: (Dom.touchEvent => unit) => t => unit;
let removeTouchCancelEventListenerWithOptions: (Dom.touchEvent => unit) => Js.t({. capture: bool, passive: bool, }) => t => unit;
let removeTouchCancelEventListenerUseCapture: (Dom.touchEvent => unit) => t => unit;
let addTouchEndEventListener: (Dom.touchEvent => unit) => t => unit;
let addTouchEndEventListenerWithOptions: (Dom.touchEvent => unit) => Js.t({. capture: bool, once: bool, passive: bool, }) => t => unit;
let addTouchEndEventListenerUseCapture: (Dom.touchEvent => unit) => t => unit;
let removeTouchEndEventListener: (Dom.touchEvent => unit) => t => unit;
let removeTouchEndEventListenerWithOptions: (Dom.touchEvent => unit) => Js.t({. capture: bool, passive: bool, }) => t => unit;
let removeTouchEndEventListenerUseCapture: (Dom.touchEvent => unit) => t => unit;
let addTouchMoveEventListener: (Dom.touchEvent => unit) => t => unit;
let addTouchMoveEventListenerWithOptions: (Dom.touchEvent => unit) => Js.t({. capture: bool, once: bool, passive: bool, }) => t => unit;
let addTouchMoveEventListenerUseCapture: (Dom.touchEvent => unit) => t => unit;
let removeTouchMoveEventListener: (Dom.touchEvent => unit) => t => unit;
let removeTouchMoveEventListenerWithOptions: (Dom.touchEvent => unit) => Js.t({. capture: bool, passive: bool, }) => t => unit;
let removeTouchMoveEventListenerUseCapture: (Dom.touchEvent => unit) => t => unit;
let addTouchStartEventListener: (Dom.touchEvent => unit) => t => unit;
let addTouchStartEventListenerWithOptions: (Dom.touchEvent => unit) => Js.t({. capture: bool, once: bool, passive: bool, }) => t => unit;
let addTouchStartEventListenerUseCapture: (Dom.touchEvent => unit) => t => unit;
let removeTouchStartEventListener: (Dom.touchEvent => unit) => t => unit;
let removeTouchStartEventListenerWithOptions: (Dom.touchEvent => unit) => Js.t({. capture: bool, passive: bool, }) => t => unit;
let removeTouchStartEventListenerUseCapture: (Dom.touchEvent => unit) => t => unit;
let addAnimationCancelEventListener: (Dom.animationEvent => unit) => t => unit;
let addAnimationCancelEventListenerWithOptions: (Dom.animationEvent => unit) => Js.t({. capture: bool, once: bool, passive: bool, }) => t => unit;
let addAnimationCancelEventListenerUseCapture: (Dom.animationEvent => unit) => t => unit;
let removeAnimationCancelEventListener: (Dom.animationEvent => unit) => t => unit;
let removeAnimationCancelEventListenerWithOptions: (Dom.animationEvent => unit) => Js.t({. capture: bool, passive: bool, }) => t => unit;
let removeAnimationCancelEventListenerUseCapture: (Dom.animationEvent => unit) => t => unit;
let addAnimationEndEventListener: (Dom.animationEvent => unit) => t => unit;
let addAnimationEndEventListenerWithOptions: (Dom.animationEvent => unit) => Js.t({. capture: bool, once: bool, passive: bool, }) => t => unit;
let addAnimationEndEventListenerUseCapture: (Dom.animationEvent => unit) => t => unit;
let removeAnimationEndEventListener: (Dom.animationEvent => unit) => t => unit;
let removeAnimationEndEventListenerWithOptions: (Dom.animationEvent => unit) => Js.t({. capture: bool, passive: bool, }) => t => unit;
let removeAnimationEndEventListenerUseCapture: (Dom.animationEvent => unit) => t => unit;
let addAnimationIterationEventListener: (Dom.animationEvent => unit) => t => unit;
let addAnimationIterationEventListenerWithOptions: (Dom.animationEvent => unit) => Js.t({. capture: bool, once: bool, passive: bool, }) => t => unit;
let addAnimationIterationEventListenerUseCapture: (Dom.animationEvent => unit) => t => unit;
let removeAnimationIterationEventListener: (Dom.animationEvent => unit) => t => unit;
let removeAnimationIterationEventListenerWithOptions: (Dom.animationEvent => unit) => Js.t({. capture: bool, passive: bool, }) => t => unit;
let removeAnimationIterationEventListenerUseCapture: (Dom.animationEvent => unit) => t => unit;
let addAnimationStartEventListener: (Dom.animationEvent => unit) => t => unit;
let addAnimationStartEventListenerWithOptions: (Dom.animationEvent => unit) => Js.t({. capture: bool, once: bool, passive: bool, }) => t => unit;
let addAnimationStartEventListenerUseCapture: (Dom.animationEvent => unit) => t => unit;
let removeAnimationStartEventListener: (Dom.animationEvent => unit) => t => unit;
let removeAnimationStartEventListenerWithOptions: (Dom.animationEvent => unit) => Js.t({. capture: bool, passive: bool, }) => t => unit;
let removeAnimationStartEventListenerUseCapture: (Dom.animationEvent => unit) => t => unit;
include { ... };
let getElementById: string => t => option(Dom.element);
include { ... };
include { ... };
let children: t => Dom.htmlCollection;
let firstElementChild: t => option(Dom.element);
let lastElementChild: t => option(Dom.element);
let childElementCount: t => int;
let querySelector: string => t => option(Dom.element);
let querySelectorAll: string => t => Dom.nodeList;
include { ... };
let asDocument: t => Dom.document;
let asHtmlDocument: t => option(Dom.htmlDocument);
let unsafeAsHtmlDocument: t => Dom.htmlDocument;

Unsafe cast, use ashtmlDocument instead

let ofNode: Dom.node => option(t);
let characterSet: t => string;
let compatMode: t => Webapi__Dom__Types.compatMode;
let doctype: t => Dom.documentType;
let documentElement: t => Dom.element;
let documentURI: t => string;
let hidden: t => bool;
let implementation: t => Dom.domImplementation;
let lastStyleSheetSet: t => string;
let pointerLockElement: t => option(Dom.element);
let preferredStyleSheetSet: t => string;
let scrollingElement: t => option(Dom.element);
let selectedStyleSheetSet: t => string;
let setSelectedStyleSheetSet: t => string => unit;
let styleSheets: t => array(Dom.cssStyleSheet);
let styleSheetSets: t => array(string);
let visibilityState: t => Webapi__Dom__Types.visibilityState;
let adoptNode: Dom.element_like('a) => t => Dom.element_like('a);
let createAttribute: string => t => Dom.attr;
let createAttributeNS: string => string => t => Dom.attr;
let createComment: string => t => Dom.comment;
let createDocumentFragment: t => Dom.documentFragment;
let createElement: string => t => Dom.element;
let createElementWithOptions: string => Js.t({.. }) => t => Dom.element;
let createElementNS: string => string => t => Dom.element;
let createElementNSWithOptions: string => string => Js.t({.. }) => t => Dom.element;
let createEvent: string => t => Dom.event;
let createNodeIterator: Dom.node_like('a) => t => Dom.nodeIterator;
let createNodeIteratorWithWhatToShow: Dom.node_like('a) => Webapi__Dom__Types.WhatToShow.t => t => Dom.nodeIterator;
let createNodeIteratorWithWhatToShowFilter: Dom.node_like('a) => Webapi__Dom__Types.WhatToShow.t => Dom.nodeFilter => t => Dom.nodeIterator;
let createRange: t => Dom.range;
let createTextNode: string => t => Dom.text;
let createTreeWalker: Dom.element_like('a) => t => Dom.treeWalker;
let createTreeWalkerWithWhatToShow: Dom.element_like('a) => Webapi__Dom__Types.WhatToShow.t => t => Dom.treeWalker;
let createTreeWalkerWithWhatToShowFilter: Dom.element_like('a) => Webapi__Dom__Types.WhatToShow.t => Dom.nodeFilter => t => Dom.treeWalker;
let elementFromPoint: int => int => t => Dom.element;
let elementsFromPoint: int => int => t => array(Dom.element);
let enableStyleSheetsForSet: string => t => unit;
let exitPointerLock: t => unit;
let getAnimations: t => array(Dom.animation);
let getElementsByClassName: string => t => Dom.htmlCollection;
let getElementsByTagName: string => t => Dom.htmlCollection;
let getElementsByTagNameNS: string => string => t => Dom.htmlCollection;
let importNode: Dom.element_like('a) => t => Dom.element_like('a);
let importNodeDeep: Dom.element_like('a) => t => Dom.element_like('a);
let registerElement: string => unit => t => Dom.element;
let registerElementWithOptions: string => Js.t({.. }) => unit => t => Dom.element;