`sig
type ctx
type buf =
(char, Stdlib.Bigarray.int8_unsigned_elt, Stdlib.Bigarray.c_layout)
Stdlib.Bigarray.Array1.t
type t
val zero : Sha1.t
external init : unit -> Sha1.ctx = "stub_sha1_init"
external unsafe_update_substring : Sha1.ctx -> string -> int -> int -> unit
= "stub_sha1_update"
val update_substring : Sha1.ctx -> string -> int -> int -> unit
val update_string : Sha1.ctx -> string -> unit
external update_buffer : Sha1.ctx -> Sha1.buf -> unit
= "stub_sha1_update_bigarray"
external finalize : Sha1.ctx -> Sha1.t = "stub_sha1_finalize"
external copy : Sha1.ctx -> Sha1.ctx = "stub_sha1_copy"
val string : string -> Sha1.t
val substring : string -> int -> int -> Sha1.t
val channel : Stdlib.in_channel -> int -> Sha1.t
val file : string -> Sha1.t
val file_fast : string -> Sha1.t
val output : Stdlib.out_channel -> Sha1.t -> unit
val input : Stdlib.in_channel -> Sha1.t
val to_bin : Sha1.t -> string
val to_hex : Sha1.t -> string
val equal : Sha1.t -> Sha1.t -> bool
val of_bin : bytes -> Sha1.t
val of_hex : string -> Sha1.t
end`