sig
  type (_, _, _) t
  val wrap_boolean_array :
    java_boolean java_boolean_array ->
    (java_boolean, java_int, java_boolean java_boolean_array) JavaArray.t
  val wrap_byte_array :
    java_byte java_byte_array ->
    (java_byte, java_int, java_byte java_byte_array) JavaArray.t
  val wrap_char_array :
    java_char java_char_array ->
    (java_char, java_int, java_char java_char_array) JavaArray.t
  val wrap_double_array :
    java_double java_double_array ->
    (java_double, java_int, java_double java_double_array) JavaArray.t
  val wrap_float_array :
    java_double java_float_array ->
    (java_double, java_int, java_double java_float_array) JavaArray.t
  val wrap_int_array :
    java_int java_int_array ->
    (java_int, java_int, java_int java_int_array) JavaArray.t
  val wrap_long_array :
    java_long java_long_array ->
    (java_long, java_int, java_long java_long_array) JavaArray.t
  val wrap_short_array :
    java_short java_short_array ->
    (java_short, java_int, java_short java_short_array) JavaArray.t
  val wrap_reference_array :
    'a java_reference_array ->
    ('a, java_int, 'a java_reference_array) JavaArray.t
  val wrap_boolean_array2 :
    java_boolean java_boolean_array java_reference_array ->
    (java_boolean, java_int * java_int,
     java_boolean java_boolean_array java_reference_array)
    JavaArray.t
  val wrap_byte_array2 :
    java_byte java_byte_array java_reference_array ->
    (java_byte, java_int * java_int,
     java_byte java_byte_array java_reference_array)
    JavaArray.t
  val wrap_char_array2 :
    java_char java_char_array java_reference_array ->
    (java_char, java_int * java_int,
     java_char java_char_array java_reference_array)
    JavaArray.t
  val wrap_double_array2 :
    java_double java_double_array java_reference_array ->
    (java_double, java_int * java_int,
     java_double java_double_array java_reference_array)
    JavaArray.t
  val wrap_float_array2 :
    java_float java_float_array java_reference_array ->
    (java_float, java_int * java_int,
     java_float java_float_array java_reference_array)
    JavaArray.t
  val wrap_int_array2 :
    java_int java_int_array java_reference_array ->
    (java_int, java_int * java_int,
     java_int java_int_array java_reference_array)
    JavaArray.t
  val wrap_long_array2 :
    java_long java_long_array java_reference_array ->
    (java_long, java_int * java_int,
     java_long java_long_array java_reference_array)
    JavaArray.t
  val wrap_short_array2 :
    java_short java_short_array java_reference_array ->
    (java_short, java_int * java_int,
     java_short java_short_array java_reference_array)
    JavaArray.t
  val wrap_reference_array2 :
    'a java_reference_array java_reference_array ->
    ('a, java_int * java_int, 'a java_reference_array java_reference_array)
    JavaArray.t
  val length : ('a, 'b, 'c) JavaArray.t -> java_int
  val length_sub :
    ('a, java_int * java_int, 'b) JavaArray.t -> java_int -> java_int
  val get : ('e, 'i, 'a) JavaArray.t -> '-> 'e
  val set : ('e, 'i, 'a) JavaArray.t -> '-> '-> unit
  val iter : ('-> unit) -> ('a, 'b, 'c) JavaArray.t -> unit
  val iteri : ('-> '-> unit) -> ('a, 'i, 'b) JavaArray.t -> unit
  val is_null : ('a, 'b, 'c) JavaArray.t -> bool
  val is_not_null : ('a, 'b, 'c) JavaArray.t -> bool
  val wrap : ('e, 'i, 'r) JavaArray.t -> ('e, 'i, 'r) JavaArray.t option
  val unwrap : ('e, 'i, 'r) JavaArray.t option -> ('e, 'i, 'r) JavaArray.t
  val wrapped : ('a, 'b, 'r) JavaArray.t -> 'r
end