module Flags_ext: sig .. end
type 'a setter = 
| | | No_arg of 'a | 
| | | Arg of (string -> 'a) | 
type ('a, 'flag) t 
val flag : ('a, 'flag) t -> 'flag
val get : ('a, 'b) t -> 'a
val is_set : ('a, 'b) t -> bool
val create_optional : name:string ->
       doc:string ->
       'a setter ->
       ('a option, unit Deprecated_command.Flag.t) t
val create : ?default:'a * ('a -> string) ->
       name:string ->
       doc:string ->
       'a setter ->
       ('a, unit Deprecated_command.Flag.t) t
val create_many : ?at_least_one:bool ->
       name:string ->
       doc:string ->
       'a setter ->
       ('a list, unit Deprecated_command.Flag.t) t
val create_choice : ?default:'a * ('a -> string) ->
       (string * string * 'a setter) list ->
       ('a, unit Deprecated_command.Flag.t list) t
val create_choice_optional : (string * string * 'a setter) list ->
       ('a option, unit Deprecated_command.Flag.t list)
       t
val create_set : name:string ->
       doc:string ->
       (bool, unit Deprecated_command.Flag.t) t
val create_rest : ?name:string ->
       doc:string ->
       unit ->
       (string list option, unit Deprecated_command.Flag.t)
       t