import type { ApplicationCommandData, AutocompleteInteraction, BaseInteraction, ButtonInteraction, Client, ModalSubmitInteraction, StringSelectMenuInteraction, } from "discord.js"; export interface IEvent { event: string; execute: (client: Client, ...args: unknown[]) => Promise; once?: boolean; } export interface ICommand { data: ApplicationCommandData; execute: (client: Client, interaction: BaseInteraction) => Promise; enabled?: boolean; autocomplete?: (interaction: AutocompleteInteraction) => Promise; buttonExecute?: ( client: Client, interaction: ButtonInteraction, ) => Promise; modalExecute?: ( client: Client, interaction: ModalSubmitInteraction, ) => Promise; selectMenuExecute?: ( client: Client, interaction: StringSelectMenuInteraction, ) => Promise; }