sig
  type t = Js_typed_array2.DataView.t
  external make : Js_typed_array.array_buffer -> Js_typed_array.DataView.t
    = "DataView" " A@(DataView@@"
  external fromBuffer :
    Js_typed_array.array_buffer -> Js_typed_array.DataView.t = "DataView"
    " A@(DataView@@"
  external fromBufferOffset :
    Js_typed_array.array_buffer -> int -> Js_typed_array.DataView.t
    = "DataView" " B@(DataView@@"
  external fromBufferRange :
    Js_typed_array.array_buffer ->
    offset:int -> length:int -> Js_typed_array.DataView.t = "DataView"
    "
 AAA@A@@@(DataView@@"

  external buffer : Js_typed_array.DataView.t -> Js_typed_array.array_buffer
    = "buffer" "  A@&buffer@"
  external byteLength : Js_typed_array.DataView.t -> int = "byteLength"
    " A@*byteLength@"
  external byteOffset : Js_typed_array.DataView.t -> int = "byteOffset"
    " A@*byteOffset@"
  external getInt8 : Js_typed_array.DataView.t -> int -> int = "getInt8"
    " B@'getInt8@@@"
  external getUint8 : Js_typed_array.DataView.t -> int -> int = "getUint8"
    "B@(getUint8@@@"
  external getInt16 : Js_typed_array.DataView.t -> int -> int = "getInt16"
    "B@(getInt16@@@"
  external getInt16LittleEndian : Js_typed_array.DataView.t -> int -> int
    = "getInt16" " %$AAAAAA@@(getInt16@@@"
  external getUint16 : Js_typed_array.DataView.t -> int -> int = "getUint16"
    "B@)getUint16@@@"
  external getUint16LittleEndian : Js_typed_array.DataView.t -> int -> int
    = "getUint16" "  %$AAAAAA@@)getUint16@@@"
  external getInt32 : Js_typed_array.DataView.t -> int -> int = "getInt32"
    "B@(getInt32@@@"
  external getInt32LittleEndian : Js_typed_array.DataView.t -> int -> int
    = "getInt32" " %$AAAAAA@@(getInt32@@@"
  external getUint32 : Js_typed_array.DataView.t -> int -> int = "getUint32"
    "B@)getUint32@@@"
  external getUint32LittleEndian : Js_typed_array.DataView.t -> int -> int
    = "getUint32" "  %$AAAAAA@@)getUint32@@@"
  external getFloat32 : Js_typed_array.DataView.t -> int -> float
    = "getFloat32" "B@*getFloat32@@@"
  external getFloat32LittleEndian : Js_typed_array.DataView.t -> int -> float
    = "getFloat32" "! %$AAAAAA@@*getFloat32@@@"
  external getFloat64 : Js_typed_array.DataView.t -> int -> float
    = "getFloat64" "B@*getFloat64@@@"
  external getFloat64LittleEndian : Js_typed_array.DataView.t -> int -> float
    = "getFloat64" "! %$AAAAAA@@*getFloat64@@@"
  external setInt8 : Js_typed_array.DataView.t -> int -> int -> unit
    = "setInt8" " CE'setInt8@@@"
  external setUint8 : Js_typed_array.DataView.t -> int -> int -> unit
    = "setUint8" "CE(setUint8@@@"
  external setInt16 : Js_typed_array.DataView.t -> int -> int -> unit
    = "setInt16" "CE(setInt16@@@"
  external setInt16LittleEndian :
    Js_typed_array.DataView.t -> int -> int -> unit = "setInt16"
    "#+*AAAAAAAA@E(setInt16@@@"
  external setUint16 : Js_typed_array.DataView.t -> int -> int -> unit
    = "setUint16" "CE)setUint16@@@"
  external setUint16LittleEndian :
    Js_typed_array.DataView.t -> int -> int -> unit = "setUint16"
    "$+*AAAAAAAA@E)setUint16@@@"
  external setInt32 : Js_typed_array.DataView.t -> int -> int -> unit
    = "setInt32" "CE(setInt32@@@"
  external setInt32LittleEndian :
    Js_typed_array.DataView.t -> int -> int -> unit = "setInt32"
    "#+*AAAAAAAA@E(setInt32@@@"
  external setUint32 : Js_typed_array.DataView.t -> int -> int -> unit
    = "setUint32" "CE)setUint32@@@"
  external setUint32LittleEndian :
    Js_typed_array.DataView.t -> int -> int -> unit = "setUint32"
    "$+*AAAAAAAA@E)setUint32@@@"
  external setFloat32 : Js_typed_array.DataView.t -> int -> float -> unit
    = "setFloat32" "CE*setFloat32@@@"
  external setFloat32LittleEndian :
    Js_typed_array.DataView.t -> int -> float -> unit = "setFloat32"
    "%+*AAAAAAAA@E*setFloat32@@@"
  external setFloat64 : Js_typed_array.DataView.t -> int -> float -> unit
    = "setFloat64" "CE*setFloat64@@@"
  external setFloat64LittleEndian :
    Js_typed_array.DataView.t -> int -> float -> unit = "setFloat64"
    "%+*AAAAAAAA@E*setFloat64@@@"
end