import { CLICommand, CommandArgument, CommandProcessor, CommandResult } from '../../utils/types.js'; /** * Base abstract class for all CLI commands * Implements the Template Method pattern for validation */ export declare abstract class BaseCLICommand implements CLICommand { protected commandProcessor: CommandProcessor; abstract name: string; abstract description: string; abstract arguments: CommandArgument[]; constructor(commandProcessor: CommandProcessor); abstract execute(args: Record): Promise; /** * Get the command processor used by this command * @returns The command processor instance */ getCommandProcessor(): CommandProcessor; /** * Sanitize a string argument to prevent command injection * @param value The value to sanitize * @param argName The argument name (for error messages) * @returns The sanitized string * @throws Error if the value contains dangerous characters */ protected sanitizeStringArg(value: unknown, argName: string): string; /** * Validate and sanitize command arguments * - Checks required arguments are present * - Validates argument types match expected types * - Sanitizes string arguments to prevent command injection * @param args The arguments to validate * @throws Error if validation fails */ protected validateArgs(args: Record): void; /** * Append common SDK flags to the command arguments * @param sdkArgs The array of SDK arguments to append to * @param args The command arguments object */ protected appendCommonFlags(sdkArgs: string[], args: Record): void; } //# sourceMappingURL=baseCommand.d.ts.map