sig
  type structure =
      [ `Directory of string * Ketrew_target.Volume.structure list
      | `File of string ]
  type t = {
    host : Ketrew_host.t;
    root : Ketrew_path.t;
    structure : Ketrew_target.Volume.structure;
  }
  val create :
    host:Ketrew_host.t ->
    root:Ketrew_path.t ->
    Ketrew_target.Volume.structure -> Ketrew_target.Volume.t
  val file : string -> Ketrew_target.Volume.structure
  val dir :
    string ->
    Ketrew_target.Volume.structure list -> Ketrew_target.Volume.structure
  val all_paths : Ketrew_target.Volume.t -> Ketrew_path.t list
  val log_structure :
    Ketrew_target.Volume.structure -> Ketrew_pervasives.Log.t
  val log : Ketrew_target.Volume.t -> Ketrew_pervasives.Log.t
  val to_string_hum : Ketrew_target.Volume.t -> string
end