/** * Lightweight browser-compatible event emitter. * Provides publish/subscribe functionality for MIDI events * without external dependencies. Implements standard event * emitter pattern: register listeners with on(), emit events * with emit(), remove listeners with off(). Listener cleanup * is automatic via returned unsubscribe functions. */ export class EventEmitter { events: Map; /** * Register an event listener * @param {string} event - Event name * @param {Function} handler - Event handler function * @returns {Function} Unsubscribe function */ on(event: string, handler: Function): Function; /** * Register a one-time event listener * @param {string} event - Event name * @param {Function} handler - Event handler function */ once(event: string, handler: Function): void; /** * Remove an event listener * @param {string} event - Event name * @param {Function} handler - Event handler function */ off(event: string, handler: Function): void; /** * Emit an event * @param {string} event - Event name * @param {*} data - Event data */ emit(event: string, data: any): void; /** * Remove all event listeners * @param {string} [event] - Optional event name to clear specific event */ removeAllListeners(event?: string): void; } //# sourceMappingURL=EventEmitter.d.ts.map