import { EventEmitter } from "eventemitter3"; //#region src/factories/createEmitter.d.ts type EventMap = Record; type EventKey = string & keyof eventMap; type EventFn = (...parameters: parameters) => void; type EventData = (eventMap[eventName] extends [never] ? unknown : eventMap[eventName]) & { uid: string; }; declare class Emitter { uid: string; _emitter: EventEmitter; constructor(uid: string); on>(eventName: key, fn: EventFn): void; once>(eventName: key, fn: EventFn): void; off>(eventName: key, fn: EventFn): void; emit>(eventName: key, ...params: eventMap[key] extends [never] ? [] : [data: eventMap[key]]): void; listenerCount>(eventName: key): number; } declare function createEmitter(uid: string): Emitter; //#endregion export { Emitter, EventData, createEmitter }; //# sourceMappingURL=createEmitter.d.ts.map