import { SimulationSnapshot } from '../models/internal/simulation-state'; import { DataItem } from '../models/public/data-item'; import { UnsubscribeFn } from '../models/public/configuration'; export interface EventMap { 'simulation:tick': SimulationSnapshot; 'simulation:settled': SimulationSnapshot; 'bubble:click': { item: DataItem; event: PointerEvent; }; 'bubble:hover': DataItem | null; } export type EventName = keyof EventMap; export type EventHandler = (payload: EventMap[K]) => void; export declare class EventBus { private readonly handlers; private destroyed; on(event: K, handler: EventHandler): UnsubscribeFn; emit(event: K, payload: EventMap[K]): void; clear(): void; }