# Module Deprecated_command.Flags_ext

    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