sig
  exception Option_conflict of string
  type t
  type group
  val make :
    ?usage:string ->
    ?description:string ->
    ?version:string ->
    ?suppress_usage:bool ->
    ?suppress_help:bool ->
    ?prog:string ->
    ?formatter:OptParse.Formatter.t -> unit -> OptParse.OptParser.t
  val add :
    OptParse.OptParser.t ->
    ?group:OptParse.OptParser.group ->
    ?help:string ->
    ?hide:bool ->
    ?short_name:char ->
    ?short_names:char list ->
    ?long_name:string -> ?long_names:string list -> 'OptParse.Opt.t -> unit
  val add_group :
    OptParse.OptParser.t ->
    ?parent:OptParse.OptParser.group ->
    ?description:string -> string -> OptParse.OptParser.group
  val error :
    OptParse.OptParser.t ->
    ?chn:Pervasives.out_channel -> ?status:int -> string -> unit
  val usage :
    OptParse.OptParser.t -> ?chn:Pervasives.out_channel -> unit -> unit
  val parse :
    OptParse.OptParser.t ->
    ?first:int -> ?last:int -> string array -> string list
  val parse_argv : OptParse.OptParser.t -> string list
end