sig
  type ('main_in, 'main_out) t = ('main_in, 'main_out) Deprecated_fcommand.t
  type 'a parse = string -> 'a
  val string : string parse
  val int : int parse
  val float : float parse
  val date : Core.Std.Date.t parse
  val sexp : Core.Std.Sexp.t parse
  module Flag :
    sig
      type 'a t = 'Deprecated_fcommand.Flag.t
      val map : f:('-> 'b) -> 'a t -> 'b t
    end
  val required : 'a parse -> 'Flag.t
  val optional : 'a parse -> 'a option Flag.t
  val optional_with_default : '-> 'a parse -> 'Flag.t
  val listed : 'a parse -> 'a list Flag.t
  val no_arg : [ `Absent | `Present ] Flag.t
  val no_arg_bool : bool Flag.t
  val capture_remaining_command_line : string list option Flag.t
  val flag : string -> 'Flag.t -> doc:string -> ('-> 'm, 'm) t
  module Anons :
    sig
      type 'a t = 'Deprecated_fcommand.Anons.t
      val map : f:('-> 'b) -> 'a t -> 'b t
    end
  val ( %: ) : string -> 'a parse -> 'Anons.t
  val many : string -> 'a parse -> 'a list Anons.t
  val maybe : 'Anons.t -> 'a option Anons.t
  val maybe_with_default : '-> 'Anons.t -> 'Anons.t
  val zero : unit Anons.t
  val t2 : 'Anons.t -> 'Anons.t -> ('a * 'b) Anons.t
  val t3 : 'Anons.t -> 'Anons.t -> 'Anons.t -> ('a * 'b * 'c) Anons.t
  val t4 :
    'Anons.t ->
    'Anons.t -> 'Anons.t -> 'Anons.t -> ('a * 'b * 'c * 'd) Anons.t
  val anon : 'Anons.t -> ('-> 'm, 'm) t
  val empty : unit -> ('a, 'a) t
  val const : '-> ('-> 'm, 'm) t
  val ( ++ ) : ('m1, 'm2) t -> ('m2, 'm3) t -> ('m1, 'm3) t
  val either : string -> ('a option -> 'b, 'a option -> 'a option -> 'b) t
  val step : ('m1 -> 'm2) -> ('m1, 'm2) t
  val cmd :
    summary:string ->
    ?readme:(unit -> string) ->
    ?autocomplete:Deprecated_command.Autocomplete.t ->
    ?global_flags:unit Deprecated_command.Flag.t list ->
    ('main, unit) t -> 'main -> Deprecated_command.t
end