export type EventMap = Record; export type Callback

= (...args: P) => void; export type Listener

= { callback: Callback

| null; next: Listener

| null; }; export declare class Emitter { listeners: { [EventName in keyof Events]: Listener | null; }; constructor(); on(event: E, callback: Callback): this; once(event: E, callback: Callback): this; off(event: E, callback: Callback): this; emit(event: E, ...args: Events[E]): boolean; }