import type { LisaEvent, LisaEventType } from './events'; /** * Event handler function type. */ export type EventHandler = (event: T) => Promise; /** * Event emitter interface for Lisa events. */ export interface IEventEmitter { /** * Emit an event to all registered handlers. * @param event - Event to emit */ emit(event: LisaEvent): Promise; /** * Register a handler for a specific event type. * @param type - Event type to listen for * @param handler - Handler function */ on(type: T, handler: EventHandler>): void; /** * Remove a handler for a specific event type. * @param type - Event type * @param handler - Handler to remove */ off(type: T, handler: EventHandler>): void; } //# sourceMappingURL=IEventEmitter.d.ts.map