import { InteractionEditReplyOptions, Message, MessageEditOptions, MessagePayload, User } from 'discord.js'; import { EventEmitter } from 'node:events'; import { BaseConstructorOptions, DeepRequired, MessageType } from './Base'; export interface SlotsConstructorOptions extends BaseConstructorOptions { embed?: { title?: string; color?: string; }; slots: string[]; } export class Slots extends EventEmitter { options: DeepRequired>; message: MessageType; slot1: number; slot2: number; slot3: number; slots: string[]; result: null; on( eventName: 'gameOver', listener: (result: { result: 'win' | 'lose'; player: User; slots: [string, string, string] }) => void ): this; once(...args: Parameters): this; constructor(options: SlotsConstructorOptions); getBoardContent(showResult: boolean): string; sendMessage( content: string | MessagePayload | (IsSlashGame extends true ? InteractionEditReplyOptions : MessageEditOptions) ): Promise; startGame(): Promise; gameOver(msg: Message): Promise; slotMachine(): void; hasWon(): boolean; wrap(s: number, add: boolean): string; }