sig
  val label : string
  val it : Common.Util.Info.t
  val info : ('a, unit, string, unit) format4 -> 'a
  val nt : Common.Util.Notice.t
  val notice : ('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 ->
        ?status:int ->
        ?version:string ->
        ?suppress_usage:bool ->
        ?suppress_help:bool ->
        ?prog:string ->
        ?formatter:OptParse.Formatter.t -> unit -> OptParse.OptParser.t
    end
  val vpkg_option :
    ?default:Pef.Packages_types.vpkg ->
    ?metavar:string -> unit -> Pef.Packages_types.vpkg OptParse.Opt.t
  val vpkglist_option :
    ?default:Pef.Packages_types.vpkglist ->
    ?metavar:string -> unit -> Pef.Packages_types.vpkglist OptParse.Opt.t
  val pkglist_option :
    ?default:(string * Pef.Packages_types.architecture option *
              Pef.Packages_types.version)
             list ->
    ?metavar:string ->
    unit ->
    (string * Pef.Packages_types.architecture option *
     Pef.Packages_types.version)
    list OptParse.Opt.t
  val criteria_option :
    ?default:Common.Criteria_types.criteria ->
    ?metavar:string -> unit -> Common.Criteria_types.criteria OptParse.Opt.t
  val incr_str_list :
    ?default:string list option ->
    ?metavar:string -> unit -> string list OptParse.Opt.t
  val str_list_option :
    ?default:string list ->
    ?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 create_group :
    OptParse.OptParser.group option Pervasives.ref ->
    string -> OptParse.OptParser.t -> OptParse.OptParser.group
  module DistcheckOptions :
    sig
      val success : bool OptParse.Opt.t
      val failure : bool OptParse.Opt.t
      val explain : bool OptParse.Opt.t
      val minimal : bool OptParse.Opt.t
      val condense : bool OptParse.Opt.t
      val summary : bool OptParse.Opt.t
      val default_options : string list
      val group : OptParse.OptParser.group option Pervasives.ref
      val descr : string
      val add_options : ?default:string list -> OptParse.OptParser.t -> unit
      val add_option :
        ?short_name:char ->
        ?long_name:string ->
        ?help:string ->
        OptParse.OptParser.t ->
        ?hide:bool ->
        ?short_names:char list ->
        ?long_names:string list -> 'OptParse.Opt.t -> unit
    end
  module OutputOptions :
    sig
      val outfile : string OptParse.Opt.t
      val outdir : string OptParse.Opt.t
      val dot : bool OptParse.Opt.t
      val default_options : string list
      val group : OptParse.OptParser.group option Pervasives.ref
      val descr : string
      val add_options : ?default:string list -> OptParse.OptParser.t -> unit
      val add_option :
        ?short_name:char ->
        ?long_name:string ->
        ?help:string ->
        OptParse.OptParser.t ->
        ?hide:bool ->
        ?short_names:char list ->
        ?long_names:string list -> 'OptParse.Opt.t -> unit
    end
  module InputOptions :
    sig
      val itypes : string list
      val in_option :
        ?default:string -> ?metavar:string -> unit -> string OptParse.Opt.t
      val trim : bool OptParse.Opt.t
      val latest : bool OptParse.Opt.t
      val checkonly : Pef.Packages_types.vpkglist OptParse.Opt.t
      val background : string list OptParse.Opt.t
      val foreground : string list OptParse.Opt.t
      val inputtype : string OptParse.Opt.t
      val default_options : string list
      val group : OptParse.OptParser.group option Pervasives.ref
      val descr : string
      val parse_cmdline :
        Common.Url.filetypes * bool ->
        string list -> string list * string list
      val add_options : ?default:string list -> OptParse.OptParser.t -> unit
      val add_option :
        ?short_name:char ->
        ?long_name:string ->
        ?help:string ->
        OptParse.OptParser.t ->
        ?hide:bool ->
        ?short_names:char list ->
        ?long_names:string list -> 'OptParse.Opt.t -> unit
    end
  type options =
      Deb of Debian.Debcudf.options
    | Pef of Debian.Debcudf.options
    | Opam of Opam.Opamcudf.options
    | Edsp of Debian.Debcudf.options
    | Csw
    | Rpm
    | Cudf
  module DistribOptions :
    sig
      val deb_native_arch : string OptParse.Opt.t
      val deb_foreign_archs : string list OptParse.Opt.t
      val deb_host_arch : string OptParse.Opt.t
      val deb_ignore_essential : bool OptParse.Opt.t
      val deb_builds_from : bool OptParse.Opt.t
      val opam_switch : string OptParse.Opt.t
      val opam_switches : string list OptParse.Opt.t
      val opam_profiles : string list OptParse.Opt.t
      val default_options : string list
      val set_deb_options : unit -> Debian.Debcudf.options
      val set_opam_options : unit -> Opam.Opamcudf.options
      val set_default_options :
        [> `Deb | `Edsp | `Opam | `Pef ] ->
        Doseparse.StdOptions.options option
      val set_options :
        [> `Deb | `DebSrc | `Edsp | `Opam | `Pef ] ->
        Doseparse.StdOptions.options option
      val deb_group : OptParse.OptParser.t -> OptParse.OptParser.group
      val opam_group : OptParse.OptParser.t -> OptParse.OptParser.group
      val add_debian_options :
        ?default:string list -> OptParse.OptParser.t -> unit
      val add_opam_options :
        ?default:string list -> OptParse.OptParser.t -> unit
      val add_option :
        ?group:OptParse.OptParser.group ->
        ?short_name:char ->
        ?long_name:string ->
        ?help:string -> OptParse.OptParser.t -> 'OptParse.Opt.t -> unit
    end
end