import type { IEventBus, IEventManager, EventManagerConfig } from './event-interfaces'; import { EventPerformanceOptimizer } from './event-performance'; export declare abstract class BaseEventManager> implements IEventManager { protected eventBus: IEventBus; protected config: EventManagerConfig; protected performanceOptimizer: EventPerformanceOptimizer; private callbackMap; constructor(eventBus: IEventBus, config?: EventManagerConfig); on(type: K, callback: (event: T[K]) => void): void; off(type: K, callback?: (event: T[K]) => void): void; emit(type: K, event: T[K]): void; getListenerCount(type?: keyof T): number; clearAllListeners(): void; getStatistics(): { totalEvents: number; listenersByType: Record; totalListeners: number; }; protected validateEvent(eventType: string, event: any): boolean; protected abstract getEventTypes(): string[]; }