import { Message, MessageEmbed } from "discord.js"; import Client from "../client/Client"; import { AliasManager } from "./alias/Alias"; import CommandInhibitor from "./inhibitor/CommandInhibitor"; import { PermissionManager } from "./permissions/Permit"; export default abstract class AbstractCommand { private _message?; constructor(); readonly handle: ({ fragments, message, aliasManager, inhibitor, permissionManager, client, causingRegex, }: CommandHandlerArgs) => Promise; protected customCommandBlocker(message: Message, client: Client): Promise<{ shouldBlock: boolean; msg?: string; }>; private readonly internalCommandShouldInhibit; private readonly internalCommandShouldExecute; protected commandShouldExecute(commandMessage: Message, fragments: string[]): boolean; private readonly internalCommandShouldBlock; protected commandShouldBlock: (commandMessage: Message, permissionManager?: PermissionManager | undefined) => boolean; private readonly internalCommandDidExecute; protected commandDidExecute(): void; protected log(client: Client, message: Message, aliasManager?: AliasManager): Promise; /** * * @param message * @param client * @abstract */ abstract execute(message: Message, client: Client): Promise; protected error(sourceMessage: Message, issue: string): Promise; protected commandDidInhibit(sourceMessage: Message, issue: string): any; protected commandDidShowHelp(sourceMessage: Message, help: string, issue: string): any; protected commandDidBlock(sourceMessage: Message, issue: string): Promise; protected readonly awaitReply: ({ promptText, secondsTimeout, sourceMessage, }: { sourceMessage: Message; promptText?: string | undefined; secondsTimeout: number; }) => Promise; protected readonly say: (content: string | MessageEmbed) => Promise; protected readonly codifySay: (content: string) => Promise; protected readonly printArrayChunks: (content: string[]) => Promise; } interface CommandHandlerArgs { fragments: string[]; message: Message; client: Client; inhibitor?: CommandInhibitor; aliasManager?: AliasManager; permissionManager?: PermissionManager; causingRegex: RegExp; } export {}; //# sourceMappingURL=Command.d.ts.map