sig
  type elt
  type 'a typed_array
  type t = Js_typed_array.S.elt Js_typed_array.S.typed_array
  external unsafe_get : Js_typed_array.S.t -> int -> Js_typed_array.S.elt
    = "" "BS-EXTERNAL"
  external unsafe_set :
    Js_typed_array.S.t -> int -> Js_typed_array.S.elt -> unit = ""
    "BS-EXTERNAL"
  external buffer : Js_typed_array.S.t -> Js_typed_array.array_buffer = ""
    "BS-EXTERNAL"
  external byteLength : Js_typed_array.S.t -> int = "" "BS-EXTERNAL"
  external byteOffset : Js_typed_array.S.t -> int = "" "BS-EXTERNAL"
  external setArray :
    Js_typed_array.S.elt array -> Js_typed_array.S.t -> unit = "set"
    "BS-EXTERNAL"
  external setArrayOffset :
    Js_typed_array.S.elt array -> int -> Js_typed_array.S.t -> unit = "set"
    "BS-EXTERNAL"
  external length : Js_typed_array.S.t -> int = "" "BS-EXTERNAL"
  external copyWithin : to_:int -> Js_typed_array.S.t -> Js_typed_array.S.t
    = "" "BS-EXTERNAL"
  external copyWithinFrom :
    to_:int -> from:int -> Js_typed_array.S.t -> Js_typed_array.S.t
    = "copyWithin" "BS-EXTERNAL"
  external copyWithinFromRange :
    to_:int ->
    start:int -> end_:int -> Js_typed_array.S.t -> Js_typed_array.S.t
    = "copyWithin" "BS-EXTERNAL"
  external fillInPlace :
    Js_typed_array.S.elt -> Js_typed_array.S.t -> Js_typed_array.S.t = "fill"
    "BS-EXTERNAL"
  external fillFromInPlace :
    Js_typed_array.S.elt ->
    from:int -> Js_typed_array.S.t -> Js_typed_array.S.t = "fill"
    "BS-EXTERNAL"
  external fillRangeInPlace :
    Js_typed_array.S.elt ->
    start:int -> end_:int -> Js_typed_array.S.t -> Js_typed_array.S.t
    = "fill" "BS-EXTERNAL"
  external reverseInPlace : Js_typed_array.S.t -> Js_typed_array.S.t
    = "reverse" "BS-EXTERNAL"
  external sortInPlace : Js_typed_array.S.t -> Js_typed_array.S.t = "sort"
    "BS-EXTERNAL"
  external sortInPlaceWith :
    ([ `Arity_2 of Js_typed_array.S.elt * Js_typed_array.S.elt ], int)
    Js.Internal.fn -> Js_typed_array.S.t -> Js_typed_array.S.t = "sort"
    "BS-EXTERNAL"
  external includes :
    Js_typed_array.S.elt -> Js_typed_array.S.t -> Js.boolean = ""
    "BS-EXTERNAL"
  external indexOf : Js_typed_array.S.elt -> Js_typed_array.S.t -> int = ""
    "BS-EXTERNAL"
  external indexOfFrom :
    Js_typed_array.S.elt -> from:int -> Js_typed_array.S.t -> int = "indexOf"
    "BS-EXTERNAL"
  external join : Js_typed_array.S.t -> string = "" "BS-EXTERNAL"
  external joinWith : string -> Js_typed_array.S.t -> string = "join"
    "BS-EXTERNAL"
  external lastIndexOf : Js_typed_array.S.elt -> Js_typed_array.S.t -> int
    = "" "BS-EXTERNAL"
  external lastIndexOfFrom :
    Js_typed_array.S.elt -> from:int -> Js_typed_array.S.t -> int
    = "lastIndexOf" "BS-EXTERNAL"
  external slice :
    start:int -> end_:int -> Js_typed_array.S.t -> Js_typed_array.S.t = ""
    "BS-EXTERNAL"
  external copy : Js_typed_array.S.t -> Js_typed_array.S.t = "slice"
    "BS-EXTERNAL"
  external sliceFrom : int -> Js_typed_array.S.t -> Js_typed_array.S.t
    = "slice" "BS-EXTERNAL"
  external toString : Js_typed_array.S.t -> string = "" "BS-EXTERNAL"
  external toLocaleString : Js_typed_array.S.t -> string = "" "BS-EXTERNAL"
  external every :
    ([ `Arity_1 of Js_typed_array.S.elt ], Js.boolean) Js.Internal.fn ->
    Js_typed_array.S.t -> Js.boolean = "" "BS-EXTERNAL"
  external everyi :
    ([ `Arity_2 of Js_typed_array.S.elt * int ], Js.boolean) Js.Internal.fn ->
    Js_typed_array.S.t -> Js.boolean = "every" "BS-EXTERNAL"
  external filter :
    ([ `Arity_1 of Js_typed_array.S.elt ], bool) Js.Internal.fn ->
    Js_typed_array.S.t -> Js_typed_array.S.t = "" "BS-EXTERNAL"
  external filteri :
    ([ `Arity_2 of Js_typed_array.S.elt * int ], Js.boolean) Js.Internal.fn ->
    Js_typed_array.S.t -> Js_typed_array.S.t = "filter" "BS-EXTERNAL"
  external find :
    ([ `Arity_1 of Js_typed_array.S.elt ], bool) Js.Internal.fn ->
    Js_typed_array.S.t -> Js_typed_array.S.elt Js.undefined = ""
    "BS-EXTERNAL"
  external findi :
    ([ `Arity_2 of Js_typed_array.S.elt * int ], bool) Js.Internal.fn ->
    Js_typed_array.S.t -> Js_typed_array.S.elt Js.undefined = "find"
    "BS-EXTERNAL"
  external findIndex :
    ([ `Arity_1 of Js_typed_array.S.elt ], bool) Js.Internal.fn ->
    Js_typed_array.S.t -> int = "" "BS-EXTERNAL"
  external findIndexi :
    ([ `Arity_2 of Js_typed_array.S.elt * int ], bool) Js.Internal.fn ->
    Js_typed_array.S.t -> int = "findIndex" "BS-EXTERNAL"
  external forEach :
    ([ `Arity_1 of Js_typed_array.S.elt ], unit) Js.Internal.fn ->
    Js_typed_array.S.t -> unit = "" "BS-EXTERNAL"
  external forEachi :
    ([ `Arity_2 of Js_typed_array.S.elt * int ], unit) Js.Internal.fn ->
    Js_typed_array.S.t -> unit = "forEach" "BS-EXTERNAL"
  external map :
    ([ `Arity_1 of Js_typed_array.S.elt ], 'b) Js.Internal.fn ->
    Js_typed_array.S.t -> 'Js_typed_array.S.typed_array = "" "BS-EXTERNAL"
  external mapi :
    ([ `Arity_2 of Js_typed_array.S.elt * int ], 'b) Js.Internal.fn ->
    Js_typed_array.S.t -> 'Js_typed_array.S.typed_array = "map"
    "BS-EXTERNAL"
  external reduce :
    ([ `Arity_2 of 'b * Js_typed_array.S.elt ], 'b) Js.Internal.fn ->
    '-> Js_typed_array.S.t -> 'b = "" "BS-EXTERNAL"
  external reducei :
    ([ `Arity_3 of 'b * Js_typed_array.S.elt * int ], 'b) Js.Internal.fn ->
    '-> Js_typed_array.S.t -> 'b = "reduce" "BS-EXTERNAL"
  external reduceRight :
    ([ `Arity_2 of 'b * Js_typed_array.S.elt ], 'b) Js.Internal.fn ->
    '-> Js_typed_array.S.t -> 'b = "" "BS-EXTERNAL"
  external reduceRighti :
    ([ `Arity_3 of 'b * Js_typed_array.S.elt * int ], 'b) Js.Internal.fn ->
    '-> Js_typed_array.S.t -> 'b = "reduceRight" "BS-EXTERNAL"
  external some :
    ([ `Arity_1 of Js_typed_array.S.elt ], Js.boolean) Js.Internal.fn ->
    Js_typed_array.S.t -> Js.boolean = "" "BS-EXTERNAL"
  external somei :
    ([ `Arity_2 of Js_typed_array.S.elt * int ], Js.boolean) Js.Internal.fn ->
    Js_typed_array.S.t -> Js.boolean = "some" "BS-EXTERNAL"
end