import type { LionRapidEventEnvelope, LionRapidEventPayloads } from '../types/lionRapid.types.js'; /** * Generic event emitter interface * @template T - Event payload type mapping */ export interface IEventEmitter = Record> { /** * Subscribe to events */ on(event: K, listener: (envelope: LionRapidEventEnvelope) => void): void; /** * Unsubscribe from events */ off(event: K, listener: (envelope: LionRapidEventEnvelope) => void): void; /** * Emit events with envelope */ emit(event: K, envelope: LionRapidEventEnvelope): void; /** * Check if event has listeners */ hasListeners(event: K): boolean; /** * Clear all event listeners */ clearEvents(): void; } /** * LionRapid-specific event emitter interface */ export interface ILionRapidEventEmitter extends IEventEmitter { } //# sourceMappingURL=emitter.interface.d.ts.map