/** * @license * Copyright Google Inc. All Rights Reserved. * * Use of this source code is governed by an MIT-style license that can be * found in the LICENSE file at https://angular.io/license */ import { analytics, logging } from '@angular-devkit/core'; import { Arguments, CommandContext, CommandDescription, CommandDescriptionMap, CommandScope, CommandWorkspace, Option, SubCommandDescription } from './interface'; export interface BaseCommandOptions { help?: boolean | string; } export declare abstract class Command { readonly description: CommandDescription; protected readonly logger: logging.Logger; allowMissingWorkspace: boolean; workspace: CommandWorkspace; analytics: analytics.Analytics; protected static commandMap: () => Promise; static setCommandMap(map: () => Promise): void; constructor(context: CommandContext, description: CommandDescription, logger: logging.Logger); initialize(options: T & Arguments): Promise; printHelp(options: T & Arguments): Promise; printJsonHelp(_options: T & Arguments): Promise; protected printHelpUsage(): Promise; protected printHelpSubcommand(subcommand: SubCommandDescription): Promise; protected printHelpOptions(options?: Option[]): Promise; validateScope(scope?: CommandScope): Promise; reportAnalytics(paths: string[], options: T & Arguments, dimensions?: (boolean | number | string)[], metrics?: (boolean | number | string)[]): Promise; abstract run(options: T & Arguments): Promise; validateAndRun(options: T & Arguments): Promise; }