import type { ClientEvents } from "discord.js"; export type ClientEventKey = keyof ClientEvents; export type EventPropData = { [Key in ClientEventKey]: { name: Key; args: ClientEvents[Key]; }; }[ClientEventKey]; export interface EventData { name: string; event: EventName; once?: boolean; tags?: string[]; run(this: void, ...args: ClientEvents[EventName]): Promise; } export declare class Event { readonly data: EventData; constructor(data: EventData); } export type GenericEventArgs = ClientEvents[ClientEventKey]; export type EventsCollection = Map>;