/// import { CommandInstance, CommandHandler, CommandBuilderDefinition, CommandBuilder, CommandHandlerCallback, FinishCommandHandler } from './command'; import { Dictionary } from './common-types'; import { Arguments as ParserArguments, DetailedArguments as ParserDetailedArguments, Configuration as ParserConfiguration, Options as ParserOptions, ConfigCallback, CoerceCallback } from 'yargs-parser'; import { YError } from './yerror'; import { UsageInstance, FailureFunction } from './usage'; import { CompletionFunction } from './completion'; import { ValidationInstance, KeyOrPos } from './validation'; import { Y18N } from 'y18n'; import { MiddlewareCallback, Middleware } from './middleware'; import { RequireDirectoryOptions } from 'require-directory'; export declare function Yargs(processArgs?: string | string[], cwd?: string, parentRequire?: NodeRequire): YargsInstance; export declare function rebase(base: string, dir: string): string; /** Instance of the yargs module. */ export interface YargsInstance { $0: string; argv: Arguments; customScriptName: boolean; parsed: DetailedArguments | false; _copyDoubleDash>(argv: T): T; _getLoggerInstance(): LoggerInstance; _getParseContext(): Object; _hasOutput(): boolean; _hasParseCallback(): boolean; _parseArgs: { (args: null, shortCircuit: null, _calledFromCommand: boolean, commandIndex?: number): Arguments | Promise; (args: string | string[], shortCircuit?: boolean): Arguments | Promise; }; _runValidation(argv: Arguments, aliases: Dictionary, positionalMap: Dictionary, parseErrors: Error | null, isDefaultCommand?: boolean): void; _setHasOutput(): void; addHelpOpt: { (opt?: string | false): YargsInstance; (opt?: string, msg?: string): YargsInstance; }; addShowHiddenOpt: { (opt?: string | false): YargsInstance; (opt?: string, msg?: string): YargsInstance; }; alias: { (keys: string | string[], aliases: string | string[]): YargsInstance; (keyAliases: Dictionary): YargsInstance; }; array(keys: string | string[]): YargsInstance; boolean(keys: string | string[]): YargsInstance; check(f: (argv: Arguments, aliases: Dictionary) => any, _global?: boolean): YargsInstance; choices: { (keys: string | string[], choices: string | string[]): YargsInstance; (keyChoices: Dictionary): YargsInstance; }; coerce: { (keys: string | string[], coerceCallback: CoerceCallback): YargsInstance; (keyCoerceCallbacks: Dictionary): YargsInstance; }; command(cmd: string | string[], description: CommandHandler['description'], builder?: CommandBuilderDefinition | CommandBuilder, handler?: CommandHandlerCallback, commandMiddleware?: Middleware[], deprecated?: boolean): YargsInstance; commandDir(dir: string, opts?: RequireDirectoryOptions): YargsInstance; completion: { (cmd?: string, fn?: CompletionFunction): YargsInstance; (cmd?: string, desc?: string | false, fn?: CompletionFunction): YargsInstance; }; config: { (config: Dictionary): YargsInstance; (keys?: string | string[], configCallback?: ConfigCallback): YargsInstance; (keys?: string | string[], msg?: string, configCallback?: ConfigCallback): YargsInstance; }; conflicts: { (key: string, conflictsWith: string | string[]): YargsInstance; (keyConflicts: Dictionary): YargsInstance; }; count(keys: string | string[]): YargsInstance; default: { (key: string, value: any, defaultDescription?: string): YargsInstance; (keys: string[], value: Exclude): YargsInstance; (keys: Dictionary): YargsInstance; }; defaults: YargsInstance['default']; demand: { (min: number, max?: number | string, msg?: string): YargsInstance; (keys: string | string[], msg?: string | true): YargsInstance; (keys: string | string[], max: string[], msg?: string | true): YargsInstance; (keyMsgs: Dictionary): YargsInstance; (keyMsgs: Dictionary, max: string[], msg?: string): YargsInstance; }; demandCommand(): YargsInstance; demandCommand(min: number, minMsg?: string): YargsInstance; demandCommand(min: number, max: number, minMsg?: string | null, maxMsg?: string | null): YargsInstance; demandOption: { (keys: string | string[], msg?: string): YargsInstance; (keyMsgs: Dictionary): YargsInstance; }; deprecateOption(option: string, message?: string | boolean): YargsInstance; describe: { (keys: string | string[], description?: string): YargsInstance; (keyDescriptions: Dictionary): YargsInstance; }; detectLocale(detect: boolean): YargsInstance; env(prefix?: string | false): YargsInstance; epilog: YargsInstance['epilogue']; epilogue(msg: string): YargsInstance; example(cmd: string | [string, string?][], description?: string): YargsInstance; exit(code: number, err?: YError | string): void; exitProcess(enabled: boolean): YargsInstance; fail(f: FailureFunction): YargsInstance; getCommandInstance(): CommandInstance; getCompletion(args: string[], done: (completions: string[]) => any): void; getContext(): Context; getDemandedCommands(): Options['demandedCommands']; getDemandedOptions(): Options['demandedOptions']; getDeprecatedOptions(): Options['deprecatedOptions']; getDetectLocale(): boolean; getExitProcess(): boolean; getGroups(): Dictionary; getHandlerFinishCommand(): FinishCommandHandler | null; getOptions(): Options; getParserConfiguration(): Configuration; getStrict(): boolean; getStrictCommands(): boolean; getUsageInstance(): UsageInstance; getValidationInstance(): ValidationInstance; global(keys: string | string[], global?: boolean): YargsInstance; group(keys: string | string[], groupName: string): YargsInstance; help: YargsInstance['addHelpOpt']; hide(key: string): YargsInstance; implies: { (key: string, implication: KeyOrPos | KeyOrPos[]): YargsInstance; (keyImplications: Dictionary): YargsInstance; }; locale: { (): string; (locale: string): YargsInstance; }; middleware(callback: MiddlewareCallback | MiddlewareCallback[], applyBeforeValidation?: boolean): YargsInstance; nargs: { (keys: string | string[], nargs: number): YargsInstance; (keyNargs: Dictionary): YargsInstance; }; normalize(keys: string | string[]): YargsInstance; number(keys: string | string[]): YargsInstance; onFinishCommand(f: FinishCommandHandler): YargsInstance; option: { (key: string, optionDefinition: OptionDefinition): YargsInstance; (keyOptionDefinitions: Dictionary): YargsInstance; }; options: YargsInstance['option']; parse: { (): Arguments | Promise; (args: string | string[], context: object, parseCallback?: ParseCallback): Arguments | Promise; (args: string | string[], parseCallback: ParseCallback): Arguments | Promise; (args: string | string[], shortCircuit: boolean): Arguments | Promise; }; parserConfiguration(config: Configuration): YargsInstance; pkgConf(key: string, rootPath?: string): YargsInstance; positional(key: string, positionalDefinition: PositionalDefinition): YargsInstance; recommendCommands(recommend: boolean): YargsInstance; require: YargsInstance['demand']; required: YargsInstance['demand']; requiresArg(keys: string | string[] | Dictionary): YargsInstance; reset(aliases?: DetailedArguments['aliases']): YargsInstance; resetOptions(aliases?: DetailedArguments['aliases']): YargsInstance; scriptName(scriptName: string): YargsInstance; showCompletionScript($0?: string, cmd?: string): YargsInstance; showHelp(level: 'error' | 'log' | ((message: string) => void)): YargsInstance; showHelpOnFail: { (message?: string): YargsInstance; (enabled: boolean, message: string): YargsInstance; }; showHidden: YargsInstance['addShowHiddenOpt']; skipValidation(keys: string | string[]): YargsInstance; strict(enable?: boolean): YargsInstance; strictCommands(enable?: boolean): YargsInstance; string(key: string | string[]): YargsInstance; terminalWidth(): number | null; updateStrings(obj: Dictionary): YargsInstance; updateLocale: YargsInstance['updateStrings']; usage: { (msg: string | null): YargsInstance; (msg: string, description: CommandHandler['description'], builder?: CommandBuilderDefinition | CommandBuilder, handler?: CommandHandlerCallback): YargsInstance; }; version: { (ver?: string | false): YargsInstance; (key?: string, ver?: string): YargsInstance; (key?: string, msg?: string, ver?: string): YargsInstance; }; wrap(cols: number | null | undefined): YargsInstance; } export declare function isYargsInstance(y: YargsInstance | void): y is YargsInstance; /** Yargs' context. */ export interface Context { commands: string[]; files: string[]; fullCommands: string[]; } declare type LoggerInstance = Pick; export interface Options extends ParserOptions { __: Y18N['__']; alias: Dictionary; array: string[]; boolean: string[]; choices: Dictionary; config: Dictionary; configObjects: Dictionary[]; configuration: Configuration; count: string[]; defaultDescription: Dictionary; demandedCommands: Dictionary<{ min: number; max: number; minMsg?: string | null; maxMsg?: string | null; }>; demandedOptions: Dictionary; deprecatedOptions: Dictionary; hiddenOptions: string[]; /** Manually set keys */ key: Dictionary; local: string[]; normalize: string[]; number: string[]; showHiddenOpt: string; skipValidation: string[]; string: string[]; } export interface Configuration extends Partial { /** Should a config object be deep-merged with the object config it extends? */ 'deep-merge-config'?: boolean; /** Should commands be sorted in help? */ 'sort-commands'?: boolean; } export interface OptionDefinition { alias?: string | string[]; array?: boolean; boolean?: boolean; choices?: string | string[]; coerce?: CoerceCallback; config?: boolean; configParser?: ConfigCallback; conflicts?: string | string[]; count?: boolean; default?: any; defaultDescription?: string; deprecate?: string | boolean; deprecated?: OptionDefinition['deprecate']; desc?: string; describe?: OptionDefinition['desc']; description?: OptionDefinition['desc']; demand?: string | true; demandOption?: OptionDefinition['demand']; global?: boolean; group?: string; hidden?: boolean; implies?: string | number | KeyOrPos[]; nargs?: number; normalize?: boolean; number?: boolean; require?: OptionDefinition['demand']; required?: OptionDefinition['demand']; requiresArg?: boolean; skipValidation?: boolean; string?: boolean; type?: 'array' | 'boolean' | 'count' | 'number' | 'string'; } interface PositionalDefinition extends Pick { type?: 'boolean' | 'number' | 'string'; } interface ParseCallback { (err: YError | string | undefined | null, argv: Arguments | Promise, output: string): void; } export interface Arguments extends ParserArguments { /** The script name or node command */ $0: string; } export interface DetailedArguments extends ParserDetailedArguments { argv: Arguments; } export {};