sig
  val it : Common.Util.Info.t
  val info : ('a, unit, string, unit) format4 -> 'a
  val wt : Common.Util.Warning.t
  val warning : ('a, unit, string, unit) format4 -> 'a
  val dt : Common.Util.Debug.t
  val debug : ('a, unit, string, unit) format4 -> 'a
  val fatal : ('a, unit, string, 'b) format4 -> 'a
  module type Ot =
    sig
      val options :
        ?usage:string ->
        ?version:string ->
        ?suppress_usage:bool ->
        ?suppress_help:bool ->
        ?prog:string ->
        ?formatter:OptParse.Formatter.t -> unit -> OptParse.OptParser.t
    end
  val parse_vpkg :
    string ->
    (string * ([> `Eq | `Geq | `Gt | `Leq | `Lt ] * string) option) list
  val vpkglist_option :
    ?default:(string *
              (([> `Eq | `Geq | `Gt | `Leq | `Lt ] as 'a) * string) option)
             list ->
    ?metavar:string ->
    unit -> (string * ('a * string) option) list OptParse.Opt.t
  val and_sep_re : Pcre.regexp
  val pkg_re : Pcre.regexp
  val parse_pkg : string -> (string * string) list
  val pkglist_option :
    ?default:(string * string) list ->
    ?metavar:string -> unit -> (string * string) list OptParse.Opt.t
  val incr_str_list :
    ?default:string list option ->
    ?metavar:string -> unit -> string list OptParse.Opt.t
  val str_list :
    ?default:string list option ->
    ?metavar:string -> unit -> string list OptParse.Opt.t
  module MakeOptions :
    functor (O : Ot->
      sig
        val verbose : int OptParse.Opt.t
        val quiet : bool OptParse.Opt.t
        val progress : bool OptParse.Opt.t
        val timers : bool OptParse.Opt.t
        val options : OptParse.OptParser.t
      end
  val enable_debug : int -> unit
  val all_quiet : bool -> unit
  val enable_bars : bool -> Common.Util.label list -> unit
  val enable_timers : bool -> Common.Util.label list -> unit
  val read_deb :
    ?filter:((string * (Debian.Format822.loc * string)) list -> bool) ->
    ?extras:(string *
             ((string * (Debian.Format822.loc * string)) list -> string)
             option)
            list ->
    string -> Debian.Packages.Set.elt list
  val deb_load_list :
    ?extras:Debian.Debcudf.extramap ->
    ?status:Debian.Packages.Set.elt list ->
    Debian.Packages.Set.elt list list ->
    Cudf.preamble * Cudf.package list list *
    (Cudf_types.pkgname * Cudf_types.version ->
     Cudf_types.pkgname * Debian.Format822.version) *
    (Debian.Format822.name * Debian.Format822.version ->
     Debian.Format822.name * int)
  val pp_versions_table :
    Format.formatter ->
    (Cudf_types.pkgname * Cudf_types.version -> string * string) *
    Cudf.package list -> unit
  val eclipse_load_list :
    ?extras:(string * (string * Cudf_types.typedecl1)) list ->
    Eclipse.Packages.package list list ->
    Cudf.preamble * Cudf.package list list *
    (string * int -> string * string) * (string * string -> string * int)
  val deb_load_universe :
    ?extras:Debian.Debcudf.extramap ->
    Debian.Packages.Set.elt list ->
    Cudf.preamble * Cudf.universe *
    (Cudf_types.pkgname * Cudf_types.version ->
     Cudf_types.pkgname * Debian.Format822.version) *
    (Debian.Format822.name * Debian.Format822.version ->
     Debian.Format822.name * int)
  val rpm_load_list : '-> 'b
  val rpm_load_universe : '-> 'b * Cudf.universe * 'c * 'd
  val parse_cudf :
    string -> Cudf.preamble option * Cudf.package list * Cudf.request option
  val load_cudf :
    string -> Cudf.preamble option * Cudf.universe * Cudf.request option
  val cudf_load_list :
    string ->
    Cudf.preamble * Cudf.package list list * ('a * int -> 'a * string) *
    ('b * string -> 'b * int)
  val cudf_load_universe :
    string ->
    Cudf.preamble * Cudf.universe * ('a * int -> 'a * string) *
    ('b * string -> 'b * int)
  val unpack : 'a * ('b * 'c * 'd * 'e * 'f) * '-> 'f
  val parse_input :
    ?default_arch:string option ->
    ?extras:Debian.Debcudf.extramap ->
    string list list ->
    Cudf.preamble * Cudf.package list list *
    (Cudf_types.pkgname * Cudf_types.version ->
     Cudf_types.pkgname * Debian.Format822.version) *
    (Debian.Format822.name * Debian.Format822.version ->
     Debian.Format822.name * int)
  val supported_formats : unit -> string list
  val load_list :
    ?default_arch:string option ->
    ?extras:Debian.Debcudf.extramap ->
    string list list ->
    Cudf.preamble * Cudf.package list list *
    (Cudf_types.pkgname * Cudf_types.version ->
     Cudf_types.pkgname * Debian.Format822.version) *
    (Debian.Format822.name * Debian.Format822.version ->
     Debian.Format822.name * int)
  val load_universe :
    ?default_arch:string option ->
    ?extras:Debian.Debcudf.extramap ->
    string list ->
    Cudf.preamble * Cudf.universe *
    (Cudf_types.pkgname * Cudf_types.version ->
     Cudf_types.pkgname * Debian.Format822.version) *
    (Debian.Format822.name * Debian.Format822.version ->
     Debian.Format822.name * int)
  val if_application :
    ?alternatives:string list -> string -> (unit -> unit) -> unit
end