sig
  val parse_multiarch :
    string * ('a * string) -> Pef.Packages_types.multiarch
  val parse_source : Common.Format822.field -> Pef.Packages_types.source
  val parse_binarylist :
    Common.Format822.field -> Pef.Packages_types.vpkglist
  class package :
    ?name:string * Pef.Packages_types.name option ->
    ?version:string * Pef.Packages_types.version option ->
    ?depends:string * Pef.Packages_types.vpkgformula option ->
    ?conflicts:string * Pef.Packages_types.vpkglist option ->
    ?provides:string * Pef.Packages_types.vpkglist option ->
    ?recommends:string * Pef.Packages_types.vpkgformula option ->
    ?architecture:string * Pef.Packages_types.architecture option ->
    ?multiarch:string * Pef.Packages_types.multiarch option ->
    ?source:string * Pef.Packages_types.source option ->
    ?essential:string * bool option ->
    ?extra_source_only:string * bool option ->
    ?priority:string * string option ->
    ?pre_depends:string * Pef.Packages_types.vpkgformula option ->
    ?suggests:string * Pef.Packages_types.vpkgformula option ->
    ?enhances:string * Pef.Packages_types.vpkgformula option ->
    ?breaks:string * Pef.Packages_types.vpkglist option ->
    ?replaces:string * Pef.Packages_types.vpkglist option ->
    ?extras:(string * Pef.Packages.parse_extras_f option) list *
            (string * string) list option ->
    Common.Format822.stanza ->
    object ('a)
      val architecture : string * Pef.Packages_types.architecture
      val breaks : string * Pef.Packages_types.vpkglist
      val conflicts : string * Pef.Packages_types.vpkglist
      val depends : string * Pef.Packages_types.vpkgformula
      val enhances : string * Pef.Packages_types.vpkgformula
      val essential : string * bool
      val extra_source_only : string * bool
      val installed : string * Pef.Packages_types.installed
      val multiarch : string * Pef.Packages_types.multiarch
      val name : string * Pef.Packages_types.name
      val pre_depends : string * Pef.Packages_types.vpkgformula
      val priority : string * string
      val provides : string * Pef.Packages_types.vpkglist
      val recommends : string * Pef.Packages_types.vpkgformula
      val replaces : string * Pef.Packages_types.vpkglist
      val source :
        string *
        (Pef.Packages_types.name * Pef.Packages_types.version option)
      val suggests : string * Pef.Packages_types.vpkgformula
      val version : string * Pef.Packages_types.version
      method add_extra : string -> string -> 'a
      method architecture : Pef.Packages_types.architecture
      method breaks : Pef.Packages_types.vpkglist
      method conflicts : Pef.Packages_types.vpkglist
      method depends : Pef.Packages_types.vpkgformula
      method enhances : Pef.Packages_types.vpkgformula
      method essential : bool
      method extra_source_only : bool
      method extras : (string * string) list
      method get_extra : string -> string
      method installed : Pef.Packages_types.installed
      method multiarch : Pef.Packages_types.multiarch
      method name : Pef.Packages_types.name
      method pp : Stdlib.out_channel -> unit
      method pre_depends : Pef.Packages_types.vpkgformula
      method priority : string
      method provides : Pef.Packages_types.vpkglist
      method recommends : Pef.Packages_types.vpkgformula
      method replaces : Pef.Packages_types.vpkglist
      method set_essential : bool -> 'a
      method set_extras : (string * string) list -> 'a
      method set_installed : Pef.Packages_types.installed -> 'a
      method set_multiarch : Pef.Packages_types.multiarch -> 'a
      method source :
        Pef.Packages_types.name * Pef.Packages_types.version option
      method suggests : Pef.Packages_types.vpkgformula
      method version : Pef.Packages_types.version
    end
  val parse_package_stanza :
    (Common.Format822.stanza -> bool) option ->
    Pef.Packages_types.architecture list ->
    (string * Pef.Packages.parse_extras_f option) list ->
    Common.Format822.stanza -> Debian.Packages.package option
  val parse_packages_in :
    ?filter:(Common.Format822.stanza -> bool) ->
    ?archs:Pef.Packages_types.architecture list ->
    ?extras:(string * Pef.Packages.parse_extras_f option) list ->
    string -> IO.input -> Debian.Packages.package list
  val merge :
    Debian.Packages.package list ->
    Debian.Packages.package list -> Debian.Packages.package list
  val is_installed : Debian.Packages.package -> bool
  val is_on_hold : Debian.Packages.package -> bool
  val default_extras : (string * 'a option) list
  val input_raw :
    ?filter:(Common.Format822.stanza -> bool) ->
    ?archs:Pef.Packages_types.architecture list ->
    ?extras:(string * Pef.Packages.parse_extras_f option) list ->
    string list -> Debian.Packages.package list
  val input_raw_in :
    ?filter:(Common.Format822.stanza -> bool) ->
    ?archs:Pef.Packages_types.architecture list ->
    ?extras:(string * Pef.Packages.parse_extras_f option) list ->
    IO.input -> Debian.Packages.package list
end