sig
  type (_, _, _) t
  val wrap_boolean_array :
    bool java_boolean_array ->
    (bool, int32, bool java_boolean_array) JavaArray.t
  val wrap_byte_array :
    int java_byte_array -> (int, int32, int java_byte_array) JavaArray.t
  val wrap_char_array :
    int java_char_array -> (int, int32, int java_char_array) JavaArray.t
  val wrap_double_array :
    float java_double_array ->
    (float, int32, float java_double_array) JavaArray.t
  val wrap_float_array :
    float java_float_array ->
    (float, int32, float java_float_array) JavaArray.t
  val wrap_int_array :
    int32 java_int_array -> (int32, int32, int32 java_int_array) JavaArray.t
  val wrap_long_array :
    int64 java_long_array ->
    (int64, int32, int64 java_long_array) JavaArray.t
  val wrap_short_array :
    int java_short_array -> (int, int32, int java_short_array) JavaArray.t
  val wrap_reference_array :
    'a java_reference_array ->
    ('a, int32, 'a java_reference_array) JavaArray.t
  val wrap_boolean_array2 :
    bool java_boolean_array java_reference_array ->
    (bool, int32 * int32, bool java_boolean_array java_reference_array)
    JavaArray.t
  val wrap_byte_array2 :
    int java_byte_array java_reference_array ->
    (int, int32 * int32, int java_byte_array java_reference_array)
    JavaArray.t
  val wrap_char_array2 :
    int java_char_array java_reference_array ->
    (int, int32 * int32, int java_char_array java_reference_array)
    JavaArray.t
  val wrap_double_array2 :
    float java_double_array java_reference_array ->
    (float, int32 * int32, float java_double_array java_reference_array)
    JavaArray.t
  val wrap_float_array2 :
    float java_float_array java_reference_array ->
    (float, int32 * int32, float java_float_array java_reference_array)
    JavaArray.t
  val wrap_int_array2 :
    int32 java_int_array java_reference_array ->
    (int32, int32 * int32, int32 java_int_array java_reference_array)
    JavaArray.t
  val wrap_long_array2 :
    int64 java_long_array java_reference_array ->
    (int64, int32 * int32, int64 java_long_array java_reference_array)
    JavaArray.t
  val wrap_short_array2 :
    int java_short_array java_reference_array ->
    (int, int32 * int32, int java_short_array java_reference_array)
    JavaArray.t
  val wrap_reference_array2 :
    'a java_reference_array java_reference_array ->
    ('a, int32 * int32, 'a java_reference_array java_reference_array)
    JavaArray.t
  val length : ('a, 'b, 'c) JavaArray.t -> int32
  val length_sub : ('a, int32 * int32, 'b) JavaArray.t -> int32 -> int32
  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 wrapped : ('a, 'b, 'r) JavaArray.t -> 'r
end