sig
  val preventDefault : Dom_html.mouseEvent Js.t -> unit
  val make_event :
    (#Dom_html.event as 'a) Js.t Dom_html.Event.typ ->
    ?use_capture:bool -> #Dom_html.eventTarget Js.t -> 'Js.t Lwt.t
  val seq_loop :
    (?use_capture:'-> '-> 'Lwt.t) ->
    ?use_capture:'-> '-> ('-> unit Lwt.t) -> 'Lwt.t
  val click :
    ?use_capture:bool ->
    #Dom_html.eventTarget Js.t -> Dom_html.mouseEvent Js.t Lwt.t
  val dblclick :
    ?use_capture:bool ->
    #Dom_html.eventTarget Js.t -> Dom_html.mouseEvent Js.t Lwt.t
  val mousedown :
    ?use_capture:bool ->
    #Dom_html.eventTarget Js.t -> Dom_html.mouseEvent Js.t Lwt.t
  val mouseup :
    ?use_capture:bool ->
    #Dom_html.eventTarget Js.t -> Dom_html.mouseEvent Js.t Lwt.t
  val mouseover :
    ?use_capture:bool ->
    #Dom_html.eventTarget Js.t -> Dom_html.mouseEvent Js.t Lwt.t
  val mousemove :
    ?use_capture:bool ->
    #Dom_html.eventTarget Js.t -> Dom_html.mouseEvent Js.t Lwt.t
  val mouseout :
    ?use_capture:bool ->
    #Dom_html.eventTarget Js.t -> Dom_html.mouseEvent Js.t Lwt.t
  val keypress :
    ?use_capture:bool ->
    #Dom_html.eventTarget Js.t -> Dom_html.keyboardEvent Js.t Lwt.t
  val keydown :
    ?use_capture:bool ->
    #Dom_html.eventTarget Js.t -> Dom_html.keyboardEvent Js.t Lwt.t
  val keyup :
    ?use_capture:bool ->
    #Dom_html.eventTarget Js.t -> Dom_html.keyboardEvent Js.t Lwt.t
  val dragstart :
    ?use_capture:bool ->
    #Dom_html.eventTarget Js.t -> Dom_html.dragEvent Js.t Lwt.t
  val dragend :
    ?use_capture:bool ->
    #Dom_html.eventTarget Js.t -> Dom_html.dragEvent Js.t Lwt.t
  val dragenter :
    ?use_capture:bool ->
    #Dom_html.eventTarget Js.t -> Dom_html.dragEvent Js.t Lwt.t
  val dragover :
    ?use_capture:bool ->
    #Dom_html.eventTarget Js.t -> Dom_html.dragEvent Js.t Lwt.t
  val dragleave :
    ?use_capture:bool ->
    #Dom_html.eventTarget Js.t -> Dom_html.dragEvent Js.t Lwt.t
  val drag :
    ?use_capture:bool ->
    #Dom_html.eventTarget Js.t -> Dom_html.dragEvent Js.t Lwt.t
  val drop :
    ?use_capture:bool ->
    #Dom_html.eventTarget Js.t -> Dom_html.dragEvent Js.t Lwt.t
  val mousewheel :
    ?use_capture:bool ->
    #Dom_html.eventTarget Js.t ->
    (Dom_html.mouseEvent Js.t * (int * int)) Lwt.t
  val touchstart :
    ?use_capture:bool ->
    #Dom_html.eventTarget Js.t -> Dom_html.touchEvent Js.t Lwt.t
  val touchmove :
    ?use_capture:bool ->
    #Dom_html.eventTarget Js.t -> Dom_html.touchEvent Js.t Lwt.t
  val touchend :
    ?use_capture:bool ->
    #Dom_html.eventTarget Js.t -> Dom_html.touchEvent Js.t Lwt.t
  val touchcancel :
    ?use_capture:bool ->
    #Dom_html.eventTarget Js.t -> Dom_html.touchEvent Js.t Lwt.t
  val clicks :
    ?use_capture:bool ->
    #Dom_html.eventTarget Js.t ->
    (Dom_html.mouseEvent Js.t -> unit Lwt.t) -> 'Lwt.t
  val dblclicks :
    ?use_capture:bool ->
    #Dom_html.eventTarget Js.t ->
    (Dom_html.mouseEvent Js.t -> unit Lwt.t) -> 'Lwt.t
  val mousedowns :
    ?use_capture:bool ->
    #Dom_html.eventTarget Js.t ->
    (Dom_html.mouseEvent Js.t -> unit Lwt.t) -> 'Lwt.t
  val mouseups :
    ?use_capture:bool ->
    #Dom_html.eventTarget Js.t ->
    (Dom_html.mouseEvent Js.t -> unit Lwt.t) -> 'Lwt.t
  val mouseovers :
    ?use_capture:bool ->
    #Dom_html.eventTarget Js.t ->
    (Dom_html.mouseEvent Js.t -> unit Lwt.t) -> 'Lwt.t
  val mousemoves :
    ?use_capture:bool ->
    #Dom_html.eventTarget Js.t ->
    (Dom_html.mouseEvent Js.t -> unit Lwt.t) -> 'Lwt.t
  val mouseouts :
    ?use_capture:bool ->
    #Dom_html.eventTarget Js.t ->
    (Dom_html.mouseEvent Js.t -> unit Lwt.t) -> 'Lwt.t
  val keypresses :
    ?use_capture:bool ->
    #Dom_html.eventTarget Js.t ->
    (Dom_html.keyboardEvent Js.t -> unit Lwt.t) -> 'Lwt.t
  val keydowns :
    ?use_capture:bool ->
    #Dom_html.eventTarget Js.t ->
    (Dom_html.keyboardEvent Js.t -> unit Lwt.t) -> 'Lwt.t
  val keyups :
    ?use_capture:bool ->
    #Dom_html.eventTarget Js.t ->
    (Dom_html.keyboardEvent Js.t -> unit Lwt.t) -> 'Lwt.t
  val dragstarts :
    ?use_capture:bool ->
    #Dom_html.eventTarget Js.t ->
    (Dom_html.dragEvent Js.t -> unit Lwt.t) -> 'Lwt.t
  val dragends :
    ?use_capture:bool ->
    #Dom_html.eventTarget Js.t ->
    (Dom_html.dragEvent Js.t -> unit Lwt.t) -> 'Lwt.t
  val dragenters :
    ?use_capture:bool ->
    #Dom_html.eventTarget Js.t ->
    (Dom_html.dragEvent Js.t -> unit Lwt.t) -> 'Lwt.t
  val dragovers :
    ?use_capture:bool ->
    #Dom_html.eventTarget Js.t ->
    (Dom_html.dragEvent Js.t -> unit Lwt.t) -> 'Lwt.t
  val dragleaves :
    ?use_capture:bool ->
    #Dom_html.eventTarget Js.t ->
    (Dom_html.dragEvent Js.t -> unit Lwt.t) -> 'Lwt.t
  val drags :
    ?use_capture:bool ->
    #Dom_html.eventTarget Js.t ->
    (Dom_html.dragEvent Js.t -> unit Lwt.t) -> 'Lwt.t
  val drops :
    ?use_capture:bool ->
    #Dom_html.eventTarget Js.t ->
    (Dom_html.dragEvent Js.t -> unit Lwt.t) -> 'Lwt.t
  val mousewheels :
    ?use_capture:bool ->
    #Dom_html.eventTarget Js.t ->
    (Dom_html.mouseEvent Js.t * (int * int) -> unit Lwt.t) -> 'Lwt.t
  val touchstarts :
    ?use_capture:bool ->
    #Dom_html.eventTarget Js.t ->
    (Dom_html.touchEvent Js.t -> unit Lwt.t) -> 'Lwt.t
  val touchmoves :
    ?use_capture:bool ->
    #Dom_html.eventTarget Js.t ->
    (Dom_html.touchEvent Js.t -> unit Lwt.t) -> 'Lwt.t
  val touchends :
    ?use_capture:bool ->
    #Dom_html.eventTarget Js.t ->
    (Dom_html.touchEvent Js.t -> unit Lwt.t) -> 'Lwt.t
  val touchcancels :
    ?use_capture:bool ->
    #Dom_html.eventTarget Js.t ->
    (Dom_html.touchEvent Js.t -> unit Lwt.t) -> 'Lwt.t
end