export class Parser { /** Allow interspersed arguments. @default true */ interpersed: boolean; /** Don't allow unknown flags. @default true */ allowUnknown: boolean; constructor(config: ParserConfiguration); /** Return a string suitable for a Bash completion file for this tool. */ bashCompletion(args: BashCompletionConfiguration): string; /** * Return help output for the current options. * * E.g.: if the current options are: * [{names: ['help', 'h'], type: 'bool', help: 'Show help and exit.'}] * then this would return: * ' -h, --help Show help and exit.\n' */ help(config?: HelpConfiguration): string; /** Parse options from the given argv. */ parse(inputs?: string[] | ParsingConfiguration): Results; } /** * Add a new option type. */ export function addOptionType(optionType: OptionType): void; export function bashCompletionFromOptions(args: BashCompletionConfiguration): string; export function bashCompletionSpecFromOptions(args: BashCompletionSpecConfiguration): string; export function createParser(config: ParserConfiguration): Parser; export function getOptionType(name: string): OptionType; /** * Parse argv with the given options. * * @param config A merge of all the available fields from * `dashdash.Parser` and `dashdash.Parser.parse`: options, interspersed, * argv, env, slice. */ export function parse(config: ParsingConfiguration): Results; export interface Results { [key: string]: any; _order: Arg[]; _args: string[]; } export interface Arg { name: string; value: any; from: string; } /** * Return a synopsis string for the given option spec. * * Examples: * > synopsisFromOpt({names: ['help', 'h'], type: 'bool'}); * '[ --help | -h ]' * > synopsisFromOpt({name: 'file', type: 'string', helpArg: 'FILE'}); * '[ --file=FILE ]' */ export function synopsisFromOpt(o: Option): string; export type Option = OptionWithoutAliases | OptionWithAliases; export interface ParsingConfiguration { /** * The argv to parse. Defaults to `process.argv`. */ argv?: string[] | undefined; /** * The index into argv at which options/args begin. Default is 2, as appropriate for `process.argv`. */ slice?: number | undefined; /** * The env to use for 'env' entries in the option specs. Defaults to `process.env`. */ env?: any; // NodeJS.ProcessEnv; options?: Array