import { MessageOptions, RichEmbed, TextChannel } from 'discord.js'; import { TextBasedChannel } from '../types/TextBasedChannel'; declare type ReplyFunction = (messsage: string, params: MessageOptions | RichEmbed) => Promise; interface CommandOptions { argc: number; usage: string; example: string; allowMoreArguments?: boolean; } declare type CommandHandler = (argv: string[], reply: ReplyFunction) => Promise | string | void | MessageOptions; export default class Command { handler: CommandHandler; constructor(handler: CommandHandler, options?: CommandOptions); run(argv: string[], channel: TextBasedChannel): Promise; private send; } export declare class ExtendedCommand extends Command { skipCheck: boolean; argc: number; usage: string; example: string; allowMoreArguments: boolean; constructor(handler: CommandHandler, options: CommandOptions); run(argv: string[], channel: TextChannel): Promise; handleArgc(argv: string[], channel: TextChannel): boolean; } export {};