import type { Message, PermissionResolvable } from 'discord.js'; /** The function that runs when a command is invoked */ export type CommandExecutor = (message: Message, args: string[]) => Promise | void; export interface CommandOptions { /** Aliases for the command e.g. ['h', 'info'] */ aliases?: string[]; /** Cooldown per user in ms. Default: 0 */ cooldown?: number; /** Required member permissions */ permissions?: PermissionResolvable[]; /** Short description (used in help embeds) */ description?: string; /** Usage hint e.g. " [reason]" */ usage?: string; } export interface Command { name: string; executor: CommandExecutor; options: CommandOptions; } export interface HandlerConfig { /** Command prefix. Default: "!" */ prefix?: string; /** Ignore messages from bots. Default: true */ ignoreBots?: boolean; } export interface EmbedPresetOptions { title: string; description?: string; fields?: { name: string; value: string; inline?: boolean; }[]; footer?: string; thumbnail?: string; image?: string; /** Append current timestamp. Default: false */ timestamp?: boolean; } export interface PaginatorOptions { /** Collector timeout in ms. Default: 30000 */ timeout?: number; /** Restrict buttons to the command author. Default: true */ authorOnly?: boolean; } export type { QuickContainerOptions } from './containers'; //# sourceMappingURL=types.d.ts.map