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; }