import { ClientEvents, Interaction } from "discord.js"; import { IExtendedCompilationResult } from "../core/Compiler"; import { Context } from "."; export type CommandType = keyof ClientEvents; export type RawExecutableCode = (ctx: Context) => Promise; export type CommandInteractionTypes = "button" | "modal" | "autocomplete" | "contextMenu" | "selectMenu"; export interface IBaseCommand { name?: string; path?: string; type: T; code: string; guildOnly?: boolean; unprefixed?: boolean; aliases?: string[]; allowedInteractionTypes?: CommandInteractionTypes[]; allowBots?: boolean; unloadable?: boolean; [x: PropertyKey]: unknown; } export interface ICompiledCommand { name?: IExtendedCompilationResult; code: IExtendedCompilationResult; } export declare class BaseCommand { readonly data: IBaseCommand; readonly compiled: ICompiledCommand; constructor(data: IBaseCommand); static from(code: string): BaseCommand; get name(): string | undefined; get type(): T; matchesInteractionType(i: Interaction): boolean; } //# sourceMappingURL=BaseCommand.d.ts.map