export type EventHandler = (payload: T) => void; /** * Minimal typed pub/sub. `Events` maps an event name to its payload type, so * `on`/`emit` are checked against the same shape. Replaces the old stringly-typed * event bus. */ export declare class EventBus { private handlers; on(type: K, handler: EventHandler): () => void; emit(type: K, payload: Events[K]): void; clear(): void; }