Module Dom.Window

type console;
type crypto;
type frameList;
type idleDeadline;
type locationbar;
type menubar;
type navigator;
type personalbar;
type screen;
type scrollbars;
type speechSynthesis;
type statusbar;
type toolbar;
type mediaQueryList;
type transferable;
type idleCallbackId;
module Impl: (T: { ... }) => { ... };
type t = Dom.window;
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 addSelectionChangeEventListener: (Dom.focusEvent => unit) => t => unit;
let addSelectionChangeEventListenerWithOptions: (Dom.focusEvent => unit) => Js.t({. capture: bool, once: bool, passive: bool, }) => t => unit;
let addSelectionChangeEventListenerUseCapture: (Dom.focusEvent => unit) => t => unit;
let removeSelectionChangeEventListener: (Dom.focusEvent => unit) => t => unit;
let removeSelectionChangeEventListenerWithOptions: (Dom.focusEvent => unit) => Js.t({. capture: bool, passive: bool, }) => t => unit;
let removeSelectionChangeEventListenerUseCapture: (Dom.focusEvent => unit) => t => unit;
include { ... };
type t_window = t;
let console: t_window => console;
let crypto: t_window => crypto;
let document: t_window => Dom.document;
let frameElement: t_window => option(Dom.element);
let frames: t_window => frameList;
let fullScreen: t_window => bool;
let history: t_window => Dom.history;
let innerWidth: t_window => int;
let innerHeight: t_window => int;
let isSecureContext: t_window => bool;
let length: t_window => int;
let location: t_window => Dom.location;
let setLocation: t_window => string => unit;
let locationbar: t_window => locationbar;
let menubar: t_window => menubar;
let name: t_window => string;
let setName: t_window => string => unit;
let navigator: t_window => navigator;
let opener: t_window => option(Dom.window);
let outerWidth: t_window => int;
let outerHeight: t_window => int;
let pageXOffset: t_window => float;
let pageYOffset: t_window => float;
let parent: t_window => Dom.window;
let performance: t_window => Webapi__Performance.t;
let personalbar: t_window => personalbar;
let screen: t_window => screen;
let screenX: t_window => int;
let screenY: t_window => int;
let scrollbars: t_window => scrollbars;
let scrollX: t_window => float;
let scrollY: t_window => float;
let self: t_window => Dom.window;
let speechSynthesis: t_window => speechSynthesis;
let status: t_window => string;
let setStatus: t_window => string => unit;
let statusbar: t_window => statusbar;
let toolbar: t_window => toolbar;
let top: t_window => Dom.window;
let window: t_window => t_window;
let alert: string => t_window => unit;
let blur: t_window => unit;
let cancelIdleCallback: idleCallbackId => t_window => unit;
let close: t_window => unit;
let confirm: string => t_window => bool;
let focus: t_window => unit;
let getComputedStyle: Dom.element => t_window => Dom.cssStyleDeclaration;
let getComputedStyleWithPseudoElement: Dom.element => string => t_window => Dom.cssStyleDeclaration;
let getSelection: t_window => Dom.selection;
let matchMedia: string => t_window => mediaQueryList;
let moveBy: int => int => t_window => unit;
let moveTo: int => int => t_window => unit;
let open_: url:string => name:string => ?⁠features:string => t_window => option(Dom.window);
let postMessage: 'a => string => t_window => unit;
let postMessageWithTransfers: 'a => string => array(transferable) => t_window => unit;
let print: t_window => unit;
let prompt: string => t_window => string;
let promptWithDefault: string => string => t_window => string;
let requestIdleCallback: (idleDeadline => unit) => t_window => idleCallbackId;
let requestIdleCallbackWithOptions: (idleDeadline => unit) => Js.t({. timeout: int, }) => t_window => idleCallbackId;
let resizeBy: int => int => t_window => unit;
let resizeTo: int => int => t_window => unit;
let scroll: float => float => t_window => unit;
let scrollBy: float => float => t_window => unit;
let scrollTo: float => float => t_window => unit;
let stop: t_window => unit;
let addPopStateEventListener: (Dom.popStateEvent => unit) => t_window => unit;
let removePopStateEventListener: (Dom.popStateEvent => unit) => t_window => unit;
let setOnLoad: t_window => (unit => unit) => unit;