sig
  type e = java_byte
  type 'a t = 'a java_byte_array
  val make : java_int -> JavaByteArray.e java_byte_array
  val init :
    java_int ->
    (java_int -> JavaByteArray.e) -> JavaByteArray.e java_byte_array
  external length : JavaByteArray.e java_byte_array -> java_int
    = "java array length byte"
  external get :
    JavaByteArray.e java_byte_array -> java_int -> JavaByteArray.e
    = "java array get byte"
  external set :
    JavaByteArray.e java_byte_array -> java_int -> JavaByteArray.e -> unit
    = "java array set byte"
  val append :
    JavaByteArray.e java_byte_array ->
    JavaByteArray.e java_byte_array -> JavaByteArray.e java_byte_array
  val concat :
    JavaByteArray.e java_byte_array list -> JavaByteArray.e java_byte_array
  val sub :
    JavaByteArray.e java_byte_array ->
    java_int -> java_int -> JavaByteArray.e java_byte_array
  val copy :
    JavaByteArray.e java_byte_array -> JavaByteArray.e java_byte_array
  val fill :
    JavaByteArray.e java_byte_array ->
    java_int -> java_int -> JavaByteArray.e -> unit
  val blit :
    JavaByteArray.e java_byte_array ->
    java_int ->
    JavaByteArray.e java_byte_array -> java_int -> java_int -> unit
  val to_list : JavaByteArray.e java_byte_array -> JavaByteArray.e list
  val of_list : JavaByteArray.e list -> JavaByteArray.e java_byte_array
  val iter :
    (JavaByteArray.e -> unit) -> JavaByteArray.e java_byte_array -> unit
  val map :
    (JavaByteArray.e -> JavaByteArray.e) ->
    JavaByteArray.e java_byte_array -> JavaByteArray.e java_byte_array
  val iteri :
    (java_int -> JavaByteArray.e -> unit) ->
    JavaByteArray.e java_byte_array -> unit
  val mapi :
    (java_int -> JavaByteArray.e -> JavaByteArray.e) ->
    JavaByteArray.e java_byte_array -> JavaByteArray.e java_byte_array
  val fold_left :
    ('-> JavaByteArray.e -> 'a) ->
    '-> JavaByteArray.e java_byte_array -> 'a
  val fold_right :
    (JavaByteArray.e -> '-> 'a) ->
    JavaByteArray.e java_byte_array -> '-> 'a
  val of_ocaml : JavaByteArray.e array -> JavaByteArray.e java_byte_array
  val to_ocaml : JavaByteArray.e java_byte_array -> JavaByteArray.e array
  external to_object :
    JavaByteArray.e java_byte_array -> java'lang'Object java_instance
    = "java array to_object byte"
  external of_object :
    java'lang'Object java_instance -> JavaByteArray.e java_byte_array
    = "java array of_object byte"
  val equals :
    JavaByteArray.e java_byte_array ->
    JavaByteArray.e java_byte_array -> bool
  val hash_code : JavaByteArray.e java_byte_array -> java_int
  val to_string : JavaByteArray.e java_byte_array -> JavaString.t
  val null : JavaByteArray.e java_byte_array
  external is_null : JavaByteArray.e java_byte_array -> bool = "java is_null"
  external is_not_null : JavaByteArray.e java_byte_array -> bool
    = "java is_not_null"
  val wrap :
    JavaByteArray.e java_byte_array -> JavaByteArray.e java_byte_array option
  val unwrap :
    JavaByteArray.e java_byte_array option -> JavaByteArray.e java_byte_array
  external to_ocaml_string : JavaByteArray.e java_byte_array -> string
    = "string_of_byte_array"
  external of_ocaml_string : string -> JavaByteArray.e java_byte_array
    = "byte_array_of_string"
end