import type { LTEvent, LTEventAdapter } from '../../types'; declare class LTEventRegistry { private adapters; private connected; /** * Register an event adapter. Call before connect(). */ register(adapter: LTEventAdapter): void; /** * Connect all registered adapters. Call during startup. */ connect(): Promise; /** * Publish an event to all registered adapters. * Auto-assigns an idempotent event ID if not provided. * Best-effort: individual adapter failures are logged, not thrown. */ publish(event: LTEvent): Promise; /** * Disconnect all registered adapters. Call during shutdown. */ disconnect(): Promise; /** * Remove all adapters and reset state. Used in tests. */ clear(): void; /** * Check if any adapters are registered. */ get hasAdapters(): boolean; /** * Return the first registered adapter that matches the given type. */ getAdapter(ctor: new (...args: any[]) => T): T | undefined; /** * Bridge cross-container events to the in-process callback adapter. * * Iterates all registered adapters and calls `setCallbackBridge()` on * any that implement it. This is the generic contract — any transport * adapter (NATS, SNS, GCP Pub/Sub, Kafka) that supports cross-process * delivery implements `setCallbackBridge` on the LTEventAdapter interface. */ bridgeCallbackAdapter(callbackAdapter: LTEventAdapter): void; } /** Singleton event registry */ export declare const eventRegistry: LTEventRegistry; export {};