import { ExecuteParams, SymbolExecuteParams } from './types'; export declare abstract class BaseCommand { protected [SymbolExecuteParams]: ExecuteParams; /** * get execute arg * * @param {string} name * @returns * @memberof BaseCommand */ arg(name: string): any; /** * get execute option * * @param {string} name * @returns * @memberof BaseCommand */ option(name: string): any; abstract handle(): any; } export interface CommandOption { signature: string; factory?: () => any; } export declare function DefineCommand(signature: string | CommandOption): (target: typeof BaseCommand) => any;