/** Creates an event emitter. */ declare function _default(): EventEmitter; export default _default; export type EventEmitter = { /** * Emits an event. * @param {string} event_name The event name. * @param {...any} args The event arguments. */ emit: (event_name: string, ...args: any[]) => void; /** * Registers an event listener. * @param {string} event_name The event name. * @param {Function} listener The event listener. * @returns {Function} A function that unregisters the event listener. */ on: (event_name: string, listener: (...args: any[]) => void) => () => void; /** * Registers an event listener that will be called only once. * @param {string} event_name The event name. * @param {Function} listener The event listener. * @returns {Function} A function that unregisters the event listener. */ once: (event_name: string, listener: (...args: any[]) => void) => () => void; };