///
import { SpawnSyncReturns } from 'child_process';
import commander from 'commander';
import ora, { Ora } from 'ora';
export interface ICliCommand {
new (): CliCommand;
}
export declare enum SpinnerLevel {
Success = "Success",
Warn = "Warn",
Fail = "Fail",
Start = "Start"
}
export default abstract class CliCommand {
static program: commander.Command;
spinner: ora.Ora;
protected verbose: boolean;
private module;
constructor(cmd: string, description: string);
static showLogPath(): void;
static showLogsLocation(): void;
static getDocumentationLink(): string;
static showTacoConnectorDirectory(): void;
static getTacoConnectorDirectory(): string;
static showTacoToolkitVersion(): void;
static getTacoToolkitVersion(): string;
static askUserToAcceptEula(): Promise;
static getEulaPath(): string;
static checkLicenseAgreementStatus(eulaPath?: string): boolean;
static getLicenseFilePath(): string;
static generateEula(): void;
static acceptLicense(): Promise;
abstract options(module: commander.Command): void;
abstract handler(module: commander.Command, args: any): void;
logAndSpawnSync(cmd: string, params?: Array, options?: Object): SpawnSyncReturns;
validateErrorsCli(proc: SpawnSyncReturns | SpawnSyncReturns, successMsg: string, failureMsg: string): boolean;
validatePathExist(path: string, errorMessage?: string): void;
spinnerLogWrapper(spinner: Ora, text: string, level: SpinnerLevel): string;
static jdkSamplePath(): string;
}