sig
  exception IgnorePackage of string
  val parse_name : Common.Format822.field -> Packages_types.name
  val parse_version : Common.Format822.field -> Packages_types.version
  val parse_vpkg : Common.Format822.field -> Packages_types.vpkg
  val parse_vpkglist : Common.Format822.field -> Packages_types.vpkglist
  val parse_vpkgformula :
    Common.Format822.field -> Packages_types.vpkgformula
  val parse_archlist :
    Common.Format822.field -> Packages_types.architecture list
  val parse_builddepslist :
    Common.Format822.field -> Packages_types.builddepslist
  val parse_builddepsformula :
    Common.Format822.field -> Packages_types.builddepsformula
  val parse_string : Common.Format822.field -> string
  val parse_string_opt : Common.Format822.field -> string option
  val parse_string_list : ?rex:Re.re -> Common.Format822.field -> string list
  val parse_int : Common.Format822.field -> int
  val parse_int_s : Common.Format822.field -> string
  val parse_bool : Common.Format822.field -> bool
  val parse_bool_s : Common.Format822.field -> string
  val lexbuf_wrapper :
    ((Lexing.lexbuf -> Packages_parser.token) -> Lexing.lexbuf -> 'a) ->
    Common.Format822.field -> 'a
  val assoc : string -> Common.Format822.stanza -> Common.Format822.value
  val blank_regexp : Re.re
  val comma_regexp : Re.re
  type parse_extras_f = string -> Common.Format822.stanza -> string
  val parse_e :
    (string * Pef.Packages.parse_extras_f option) list ->
    Common.Format822.stanza -> (string * string) list
  val parse_s :
    ?default:'->
    ?required:bool ->
    (Common.Format822.field -> 'a) -> string -> Common.Format822.stanza -> 'a
  val get_field_value :
    parse:(string -> Common.Format822.stanza -> 'a) ->
    par:Common.Format822.stanza -> field:string * 'a option -> string * 'a
  class package :
    ?name:string * Packages_types.name option ->
    ?version:string * Packages_types.version option ->
    ?installed:string * Packages_types.installed option ->
    ?depends:string * Packages_types.vpkgformula option ->
    ?conflicts:string * Packages_types.vpkglist option ->
    ?provides:string * Packages_types.vpkglist option ->
    ?recommends:string * Packages_types.vpkgformula option ->
    ?extras:(string * Pef.Packages.parse_extras_f option) list *
            (string * string) list option ->
    Common.Format822.stanza ->
    object ('a)
      val conflicts : string * Packages_types.vpkglist
      val depends : string * Packages_types.vpkgformula
      val installed : string * Packages_types.installed
      val name : string * Packages_types.name
      val provides : string * Packages_types.vpkglist
      val recommends : string * Packages_types.vpkgformula
      val version : string * Packages_types.version
      method add_extra : string -> string -> 'a
      method conflicts : Packages_types.vpkglist
      method depends : Packages_types.vpkgformula
      method extras : (string * string) list
      method get_extra : string -> string
      method installed : Packages_types.installed
      method name : Packages_types.name
      method pp : Pervasives.out_channel -> unit
      method provides : Packages_types.vpkglist
      method recommends : Packages_types.vpkgformula
      method set_extras : (string * string) list -> 'a
      method set_installed : Packages_types.installed -> 'a
      method version : Packages_types.version
    end
  val parse_package_stanza :
    filter:(Common.Format822.stanza -> bool) option ->
    extras:(string * (string -> Common.Format822.stanza -> string) option)
           list ->
    Common.Format822.stanza -> Pef.Packages.package option
  val input_raw :
    ?extras:(string * (string -> Common.Format822.stanza -> string) option)
            list ->
    string list -> Pef.Packages.package list
  val parse_packages_in :
    ?filter:(Common.Format822.stanza -> bool) ->
    ?extras:(string * (string -> Common.Format822.stanza -> string) option)
            list ->
    string -> IO.input -> Pef.Packages.package list
  val input_raw_in :
    ?extras:(string * (string -> Common.Format822.stanza -> string) option)
            list ->
    IO.input -> Pef.Packages.package list
  val packages_parser :
    string ->
    (Common.Format822.stanza -> 'package option) ->
    Common.Format822.f822_parser -> 'package list
end