import type {AcsMeetingJoinOptions, AcsMeetingState} from "./AcsMeeting.types" function unavailable(): never { throw new Error("ACS meeting is not available on web") } export default { async join(_options: AcsMeetingJoinOptions): Promise { unavailable() }, async prepareAgent(_options: { token: string displayName?: string identityMode?: "guest" | "teams-user" }): Promise { unavailable() }, async leave(): Promise { unavailable() }, async leaveAndAwait(_options: {timeoutMs: number}): Promise<{completed: boolean}> { unavailable() }, async setMuted(_muted: boolean): Promise { unavailable() }, async setVideoEnabled(_enabled: boolean): Promise { unavailable() }, async setAudioSource(_source: "glasses" | "phone"): Promise { unavailable() }, async updateVideoSource(_whepUrl: string): Promise { unavailable() }, async restartVideoSource(): Promise { unavailable() }, async rebindSoftApIngest(): Promise { unavailable() }, async joinScopedNetwork(_ssid: string, _passphrase: string): Promise { unavailable() }, async leaveScopedNetwork(): Promise {}, async probeScopedGateway(): Promise<{reachable: boolean; detail: string}> { return {reachable: false, detail: "no scoped network on web"} }, async getState(): Promise { return {state: "idle", muted: false} }, addListener() { return {remove() {}} }, removeListeners() {}, }