sig
  type debtypes = [ `Deb | `DebSrc | `Edsp ]
  type rpmtypes = [ `Hdlist | `Synthesis ]
  type othertypes = [ `Csw | `Opam | `Pef ]
  type filetypes =
      [ `Csw
      | `Cudf
      | `Deb
      | `DebSrc
      | `Edsp
      | `Hdlist
      | `Opam
      | `Pef
      | `Synthesis ]
  val supported_input_types : Common.Url.filetypes list
  type url = { scheme : Common.Url.filetypes; path : string; }
  val of_string : string -> Common.Url.url
  exception Invalid_url of string
  val to_string : Common.Url.url -> string
  val scheme_to_string : Common.Url.filetypes -> string
  val scheme_of_string : string -> Common.Url.filetypes
end