import { Evogram } from '..'; import { Logger } from '../logger'; import { CommandContext, InlineQueryContext } from '../migrated'; import { CommandParams } from './command.types'; import { ICommandArgument } from './commandArgument.decorator'; export declare abstract class Command { client: Evogram; static params: CommandParams; logger: Logger; get params(): CommandParams; constructor(client: Evogram); /** * Checks if a command is executable based on an incoming message. * @param message - The incoming message. */ isExecutable(context: CommandContext): Promise; howUse(context: CommandContext): any; preExecute(context: CommandContext, args?: any): Promise; inlinePreExecute(context: InlineQueryContext, args?: any): Promise; /** * Executes a command based on an incoming message. * @param message - The incoming message. */ abstract execute(context: CommandContext, ...args: any): any; inlineExecute(context: InlineQueryContext, ...args: any): any; onError(context: CommandContext, error: Error): any; static onError(context: CommandContext, error: Error): void; get arguments(): ICommandArgument[]; get inlineArguments(): ICommandArgument[]; }