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"; interface CommandHandlerArgs { fragments: string[]; message: Message; client: Client; inhibitor?: CommandInhibitor; aliasManager?: AliasManager; permissionManager?: PermissionManager; } interface ExecutionPolicyResult { shouldExecute: boolean; errorMsg?: string; errors?: string[]; } export default abstract class NextCommand { private _message?; constructor(); readonly handle: (args: CommandHandlerArgs) => Promise; protected abstract execute(message: Message, client: Client): Promise; protected commandShouldExecute(args: CommandHandlerArgs): ExecutionPolicyResult; protected commandDidBlock(sourceMessage: Message, issue: string): Promise; protected commandDidInhibit(sourceMessage: Message, issue: string): any; protected commandWillShowHelp(sourceMessage: Message, help: string, issue: string): any; protected commandDidNotExecute(args: CommandHandlerArgs, issue: string): Promise; protected commandDidExecute(args: CommandHandlerArgs): void; readonly handleExecutionPolicy: (args: CommandHandlerArgs) => Promise; private internalCommandDidExecute; protected error(sourceMessage: Message, issue: string): Promise; protected log(client: Client, message: Message, aliasManager?: AliasManager): 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; } export {}; //# sourceMappingURL=NextCommand.d.ts.map