import type { L0EventHandler, EventType } from "../types/observability"; export interface EventDispatcherConfig { context?: Record; highPerformance?: boolean; batchSize?: number; batchFlushMs?: number; } export declare class EventDispatcher { private handlers; private handlersSnapshot; private readonly streamId; private readonly _context; private readonly highPerformance; private readonly batchSize; private readonly batchFlushMs; private eventBatch; private batchTimeout; constructor(contextOrConfig?: Record | EventDispatcherConfig); onEvent(handler: L0EventHandler): void; offEvent(handler: L0EventHandler): void; flush(): void; private dispatchToHandlers; emit>(type: EventType, payload?: Omit): void; emitSync>(type: EventType, payload?: Omit): void; getStreamId(): string; getContext(): Record; getHandlerCount(): number; } export declare function createEventDispatcher(context?: Record): EventDispatcher; //# sourceMappingURL=event-dispatcher.d.ts.map