import { AttachmentBuilder, InteractionEditReplyOptions, Message, MessageEditOptions, MessagePayload, User, } from 'discord.js'; import { EventEmitter } from 'node:events'; import { BaseConstructorOptions, DeepRequired, MessageType } from './Base'; export interface WordleConstructorOptions extends BaseConstructorOptions { embed?: { title?: string; color?: string }; customWord?: string | null; timeoutTime?: number; winMessage?: string; loseMessage?: string; } export class Wordle extends EventEmitter { options: DeepRequired>; message: MessageType; word: string | null; guessed: string[]; on( eventName: 'gameOver', listener: (result: { result: 'win' | 'lose'; player: User; word: string | null; guessed: string[] }) => void ): this; once(...args: Parameters): this; constructor(options: WordleConstructorOptions); sendMessage( content: string | MessagePayload | (IsSlashGame extends true ? InteractionEditReplyOptions : MessageEditOptions) ): Promise; getBoardImage(): Promise; // There is no reason to make this asynchronous startGame(): Promise; gameOver(msg: Message): Promise; }