import { Client, ClientEvents } from 'discord.js'; type EventKey = keyof ClientEvents; type EventListener = (...args: ClientEvents[K]) => Promise | void; /** * Clean event handler — register all your client events in one place, * then call `.attach(client)` to bind them all at once. * * @example * const events = new EventHandler() * .on('ready', (client) => console.log(`Logged in as ${client.user.tag}`)) * .on('guildMemberAdd', (member) => console.log(`${member.user.tag} joined`)) * .once('ready', (client) => console.log('Bot is ready!')); * * events.attach(client); */ export declare class EventHandler { private entries; /** * Register a persistent event listener. * @returns `this` for chaining */ on(event: K, listener: EventListener): this; /** * Register a one-time event listener. * @returns `this` for chaining */ once(event: K, listener: EventListener): this; /** * Bind all registered listeners to a discord.js Client. * @returns `this` for chaining */ attach(client: Client): this; /** Return the number of registered listeners */ get size(): number; } export {}; //# sourceMappingURL=events.d.ts.map