/** The own transport's AudioWorklet processors (GRYT-1818), joined with what they use into one source string by scripts/build-worklet-source.ts. Never imported: it only runs inside a worklet. */ import { type VoiceEffectSettings } from "../audio/voiceEffects.js"; export interface SendOptions { wasm: ArrayBuffer; frame: number; bitrate: number; stereoBitrate: number; settings: VoiceEffectSettings; } export interface ReceiveOptions { wasm: ArrayBuffer; frame: number; } /** What the receive worklet tells the page: who is speaking when that changes, and levels in dBFS by sender. */ export type ReceiveReport = { speaking: number[]; } | { levels: [number, number][]; buffered: [number, number][]; rtt: [number, number][]; };