sig
type opt = {
arg : string option;
def : string list;
desc : string;
req : bool;
validate : Valid.t option;
mex : int;
rep : bool;
hide : bool;
nyi : string option option;
}
val string_of_opt : Kwapp.Option.opt -> string
type switch = string list * Kwapp.Option.opt
val string_of_switch : string list * Kwapp.Option.opt -> string
type switchset = Kwapp.Option.switch list
val string_of_switchset : Kwapp.Option.switchset -> string
val req : Kwapp.Option.opt
val opt : Kwapp.Option.opt
val validate : string list * Kwapp.Option.opt -> unit
val ( +> ) : 'a -> ('a -> 'b) -> 'b
val sw : string -> string list * Kwapp.Option.opt
val sws : string list -> string list * Kwapp.Option.opt
val alias : string -> string list * 'a -> string list * 'a
val optional : 'a * Kwapp.Option.opt -> 'a * Kwapp.Option.opt
val required : 'a * Kwapp.Option.opt -> 'a * Kwapp.Option.opt
val rep : 'a * Kwapp.Option.opt -> 'a * Kwapp.Option.opt
val arg : string -> 'a * Kwapp.Option.opt -> 'a * Kwapp.Option.opt
val def : string list -> 'a * Kwapp.Option.opt -> 'a * Kwapp.Option.opt
val mex : int -> 'a * Kwapp.Option.opt -> 'a * Kwapp.Option.opt
val desc : string -> 'a * Kwapp.Option.opt -> 'a * Kwapp.Option.opt
val valid : Valid.t -> 'a * Kwapp.Option.opt -> 'a * Kwapp.Option.opt
val hide : 'a * Kwapp.Option.opt -> 'a * Kwapp.Option.opt
val nyi : ?because:string -> 'a * Kwapp.Option.opt -> 'a * Kwapp.Option.opt
val withhelp :
?sws:string list ->
(string list * Kwapp.Option.opt) list ->
(string list * Kwapp.Option.opt) list
val classes :
('a list * Kwapp.Option.opt) list ->
(int * ('a list * Kwapp.Option.opt) list) list *
('a list * Kwapp.Option.opt) list
val mutually :
Kwapp.Parsedopt.key list list -> 'a Kwapp.Parsedopt.t * 'b -> int
val mexify :
(int * (string list * Kwapp.Option.opt) list) list -> string list list
val check :
(Kwapp.Parsedopt.key list * Kwapp.Option.opt) list ->
Kwapp.parsedopts * string list -> Kwapp.parsedopts * string list
val sanshidden :
('a * Kwapp.Option.opt) list -> ('a * Kwapp.Option.opt) list
end