import { Message } from "discord.js"; import CommandInhibitor from "./inhibitor/CommandInhibitor"; import { AliasManager } from "./alias/Alias"; import AbstractCommand from "./Command"; import { PermissionManager } from "./permissions/Permit"; import Client from "../client/Client"; import { SlashCommandLoader } from "./slash/SlashCommandLoader"; export declare class CommandRegistry { private readonly client; private readonly slashCommandLoader; /** * Command map containing the mapping from command names to the stateful * command object. Each alias has its own entry. Aliases of the same command * will point to the same StatefulCommand object. */ private _commandMap; private _eventMap; private _groupSet; constructor(client: Client, slashCommandLoader: SlashCommandLoader); recursivelyRegisterCommands(dir: string): Promise; recursivelyRegisterEvents(dir: string): Promise; executeCommand(args: { fragments: string[]; message: Message; }): void; private getFiles; private getCommands; private parseMetadata; private getEvents; get commandMap(): Map; get commandGroups(): Map; } interface CommandConstructor { new (): AbstractCommand; } interface StatefulCommand { cmdConstructor: CommandConstructor; inhibitor?: CommandInhibitor; aliases?: AliasManager; permissionManager?: PermissionManager; group: string; } export {}; //# sourceMappingURL=CommandRegistry.d.ts.map