import { ArgParser, Register } from './argparser'; import { ProvidesHelp, Descriptive, ShortDoc, LongDoc, EnvDoc } from './helpdoc'; import { Type, OutputOf, HasType } from './type'; import { Default } from './default'; import { AllOrNothing } from './utils'; declare type FlagConfig> = LongDoc & HasType & Partial & AllOrNothing>>; /** * A decoder from `string` to `boolean` * works for `true` and `false` only. */ export declare const boolean: Type; export declare function fullFlag>(config: FlagConfig): ArgParser> & ProvidesHelp & Register & Partial; declare type BooleanType = Type; /** * Decodes an argument which is in the form of a key and a boolean value, and allows parsing the following ways: * * - `--long` where `long` is the provided `long` * - `-s=value` where `s` is the provided `short` * Shorthand forms can be combined: * - `-abcd` will call all flags for the short forms of `a`, `b`, `c` and `d`. * @param config flag configurations */ export declare function flag>(config: FlagConfig): ArgParser> & ProvidesHelp & Register & Partial; export declare function flag(config: LongDoc & Partial & ShortDoc & Descriptive & EnvDoc> & AllOrNothing>>): ArgParser> & ProvidesHelp & Register & Partial; export {};