/** * Data-channel event bridge. * * Connects NeuroLink's event emitter to the LiveKit room's data channel: it * forwards NeuroLink events (text deltas, tool start/result, HITL prompts, * stream lifecycle) to the browser as small versioned envelopes, and accepts * control messages (HITL responses) back, re-emitting them onto the emitter so * NeuroLink's HITL manager resolves. * * This is the WebRTC counterpart of the chat-mode SSE controller: same event * source, different transport. The browser renders the envelopes (transcript, * tool status, charts, confirmation prompts). * * `@livekit/rtc-node` is an optional dependency, imported dynamically only for * the `RoomEvent` enum value. All payloads arrive typed as `unknown` and are * narrowed with runtime guards — no type assertions. * * See docs/features/livekit-voice-agent.md. */ import type { LiveKitEventBridgeHandle, LiveKitEventBridgeParams } from "../../types/index.js"; /** * Attach the data-channel event bridge to a room. * * Returns a handle whose `dispose()` removes every listener and stops * publishing; it is safe to call more than once. */ export declare function attachEventBridge(params: LiveKitEventBridgeParams): Promise;