import { Command as CommanderCommand } from "commander"; import { ActionHandler, OptionInteractive, ServiceCollection } from "../models"; import { Link } from "../models/general/link"; /** * Command extension class */ export declare class Command extends CommanderCommand { private actions; private commandOptions; private serviceCollection?; private parentCommand?; constructor(); initialize(initializeAction: () => void): Command; optionInteractive(optionConfig: OptionInteractive): Command; /** * Gets the name of the command * * @returns {string} Name of individual command (not full command path) */ getName(): string; /** * Sets parent command * * @param {Command} parentCommand Parent command * @returns {Command} this */ setParent(parentCommand: Command): Command; /** * Gets the parent command * * @returns {Command} Parent command */ getParent(): Command | undefined; /** * Gets command path, delimited by '/' * * @returns {string} Full command path name (e.g. grandparent/parent/child) */ getCommandPath(): string; /** * Adds a sub command and sets this as parent command * * @param {Command} subCommand Sub command to add * @returns {Command} this */ addSubCommand(subCommand: Command): Command; private getDecoratedDescription; private getAgileProvider; private getRepoProvider; /** * Gets a variable name from a long option name * * @param {string} longName Long variable name `--my-variable-name` * @returns {string} camelCasedVariableName (e.g. myVariableName) */ private getVariableName; addAgileProviderOptions(): Command; addRepoProviderOptions(): Command; addPlaybookOptions(): Command; addAction(actionHandler: ActionHandler): Command; printHelp(): Command; asciiArt(message: string): Command; addLinkCommands(links: Link[]): Command; addPhoneTree(): Command; toMarkdownDoc(parentCommandPath?: string): string; toTableOfContents(linkPrefix?: string, parentIndentation?: string, parentCommandPath?: string): string; setServiceCollection(serviceCollection?: ServiceCollection): Command; }