`sig
type t
val empty : t
val write : OpamTypes.filename -> t -> unit
val read : OpamTypes.filename -> t
val safe_read : OpamTypes.filename -> t
val read_from_channel : in_channel -> t
val write_to_channel : out_channel -> t -> unit
val create :
OpamTypes.repository_kind ->
?mirrors:OpamTypes.address list -> OpamTypes.address -> t
val url : t -> OpamTypes.address
val mirrors : t -> OpamTypes.address list
val kind : t -> OpamTypes.repository_kind
val checksum : t -> string option
val with_checksum : t -> string -> t
end`