/**
 * Public SDK subpath for shared browser-meeting audio transports and realtime engines.
 */

export {
  startMeetingRealtimeEngine,
  type MeetingAgentConsultParams,
  type MeetingRealtimeAudioEngineHandle,
  type MeetingRealtimeAudioEngineHealth,
  type MeetingRealtimeEngineConfig,
  type MeetingRealtimeToolCallParams,
  type MeetingRuntimePlatform,
} from "../meeting-bot/realtime-engine.js";
export { startMeetingAgentRealtimeEngine } from "../meeting-bot/realtime-agent-engine.js";
export {
  type MeetingRealtimeAudioTransport,
  type MeetingRealtimeAudioTransportHealth,
} from "../meeting-bot/realtime-audio-transport.js";
export { createLocalMeetingRealtimeAudioTransport } from "../meeting-bot/realtime-local-audio-transport.js";
export { createNodeMeetingRealtimeAudioTransport } from "../meeting-bot/realtime-node-audio-transport.js";
export {
  convertMeetingBridgeAudioForStt,
  convertMeetingTtsAudioForBridge,
  resolveMeetingRealtimeAudioFormat,
  type MeetingRealtimeAudioFormat,
} from "../meeting-bot/realtime-audio-format.js";
export {
  MeetingSessionRuntime,
  type MeetingBrowserSessionView,
  type MeetingSessionLeaveResult,
  type MeetingSessionRuntimeHandles,
  type MeetingSessionRuntimeJoinContext,
  type MeetingSessionRuntimeMessages,
  type MeetingSessionRuntimeOptions,
} from "../meeting-bot/session-runtime.js";
export { createMeetingSession } from "../meeting-bot/session-factory.js";
export type {
  MeetingBrowserCandidateTab,
  MeetingBrowserHealth,
  MeetingBrowserTab,
  MeetingRealtimeSessionBlock,
  MeetingSessionRecord,
  MeetingSessionState,
  MeetingTranscriptLine,
  MeetingTranscriptSnapshot,
} from "../meeting-bot/session-types.js";
export {
  openMeetingWithBrowser,
  recoverMeetingBrowserTab,
  type MeetingBrowserControllerConfig,
} from "../meeting-bot/browser-controller.js";
export {
  leaveMeetingWithBrowser,
  readMeetingTranscriptWithBrowser,
} from "../meeting-bot/browser-session-control.js";
export {
  asMeetingBrowserTabs,
  readMeetingBrowserTab,
  resolveLocalMeetingBrowserRequest,
} from "../meeting-bot/browser-request.js";
export {
  callMeetingBrowserProxyOnNode,
  createMeetingBrowserNodeCaller,
  resolveMeetingBrowserNode,
  resolveMeetingBrowserNodeInfo,
  type MeetingBrowserNodeInfo,
} from "../meeting-bot/browser-node.js";
export type {
  MeetingBrowserJoinSession,
  MeetingBrowserLeaveStep,
  MeetingBrowserPermissionPlan,
  MeetingBrowserRequestCaller,
  MeetingBrowserRequestParams,
  MeetingBrowserStatusScriptParams,
  MeetingManualAction,
  MeetingManualActionCategory,
} from "../meeting-bot/platform-adapter.js";
export { MeetingPlatformAdapter } from "../meeting-bot/platform-adapter.js";
export { createMeetingRealtimeEngineBindings } from "../meeting-bot/agent-consult.js";
export {
  createMeetingVoiceCallGateway,
  endMeetingVoiceCallGatewayCall,
  getMeetingVoiceCallGatewayCall,
  isMeetingVoiceCallMissingError,
  joinMeetingViaVoiceCallGateway,
  speakMeetingViaVoiceCallGateway,
  type MeetingVoiceCallConfig,
  type MeetingVoiceCallGateway,
  type MeetingVoiceCallGatewayClient,
  type MeetingVoiceCallJoinResult,
  type MeetingVoiceCallStatusResult,
  type MeetingVoiceCallSurface,
} from "../meeting-bot/voice-call-gateway.js";
export {
  addMeetingSetupCheck,
  createMeetingSetupStatus,
  type MeetingSetupCheck,
  type MeetingSetupStatus,
} from "../meeting-bot/setup-checks.js";
export {
  buildMeetingSoxAudioCommands,
  type MeetingSoxAudioCommandParams,
  type MeetingSoxAudioFormat,
} from "../meeting-bot/sox-audio-command.js";
export {
  createMeetingBrowserNodeInvokePolicy,
  type MeetingBrowserNodePolicyOptions,
  type MeetingBrowserNodeStartConfig,
} from "../meeting-bot/node-invoke-policy.js";
export { createMeetingNodeHost, type MeetingNodeHostOptions } from "../meeting-bot/node-host.js";
