import type { PositionalArguments } from './argument'; import type { ITabCompleteContext } from './context'; import type { IOutput } from './io'; import type { ITabCompleteResult } from './tab_complete'; /** * Arguments for a command, used by builtin, external and javascript commands. */ export declare abstract class CommandArguments { parse(args: string[]): this; tabComplete(context: ITabCompleteContext): Promise; writeHelp(output: IOutput): void; private _findByLongName; private _findByShortName; private _help; private get _longNameArguments(); /** * Parse arguments to run a command. */ private _parseToRun; /** * Parse arguments to tab complete the final one. */ private _parseToTabComplete; private get _shortNameArguments(); positional?: PositionalArguments; subcommands?: { [key: string]: SubcommandArguments; }; description?: string; } /** * Arguments for a subcommand, used by builtin, external and javascript commands. */ export declare class SubcommandArguments extends CommandArguments { readonly name: string; readonly description: string; constructor(name: string, description: string); get isSet(): boolean; set(): void; private _isSet; }