@hashgraph/solo
Version:
An opinionated CLI tool to deploy and manage private Hedera Networks.
37 lines (36 loc) • 1.73 kB
TypeScript
import { type ArgvStruct } from '../../types/aliases.js';
import { type SoloLogger } from '../logging/solo-logger.js';
import { type CommandDefinition } from '../../types/index.js';
import { type CommandFlags } from '../../types/flag-types.js';
import { InitCommand } from '../../commands/init/init.js';
import { type TaskList } from '../task-list/task-list.js';
import { ListrContext, ListrRendererValue } from 'listr2';
export declare class Subcommand {
readonly name: string;
readonly description: string;
readonly commandHandlerClass: any;
readonly commandHandler: (argv: ArgvStruct) => Promise<boolean>;
readonly flags: CommandFlags;
readonly dependencies: string[];
readonly createCluster: boolean;
private readonly initCommand?;
private readonly taskList?;
constructor(name: string, description: string, commandHandlerClass: any, commandHandler: (argv: ArgvStruct) => Promise<boolean>, flags: CommandFlags, dependencies?: string[], createCluster?: boolean, initCommand?: InitCommand, taskList?: TaskList<ListrContext, ListrRendererValue, ListrRendererValue>);
installDependencies(): Promise<void>;
}
export declare class CommandGroup {
readonly name: string;
readonly description: string;
readonly subcommands: Subcommand[];
constructor(name: string, description: string);
addSubcommand(subcommand: Subcommand): CommandGroup;
}
export declare class CommandBuilder {
private readonly name;
private readonly description;
private readonly logger;
private readonly commandGroups;
constructor(name: string, description: string, logger: SoloLogger);
addCommandGroup(commandGroup: CommandGroup): CommandBuilder;
build(): CommandDefinition;
}