/** * Type-safe event emitter for chart events */ export declare class EventEmitter { private listeners; /** * Subscribe to an event */ on(event: K, handler: (data: EventMap[K]) => void): void; /** * Unsubscribe from an event */ off(event: K, handler: (data: EventMap[K]) => void): void; /** * Emit an event with data */ emit(event: K, data: EventMap[K]): void; /** * Subscribe to an event once */ once(event: K, handler: (data: EventMap[K]) => void): void; /** * Remove all listeners */ clear(): void; /** * Get listener count for an event */ listenerCount(event: keyof EventMap): number; }