UNPKG

mediasfu-angular

Version:

mediasfu-angular - Angular 17/18/19 WebRTC SDK for video conferencing, webinars, broadcasts, live streaming, chat, recording, whiteboard, and AI agents. Prebuilt rooms and fully custom UIs.

125 lines (124 loc) 7.65 kB
import { OnChanges, SimpleChanges } from '@angular/core'; import { Socket } from 'socket.io-client'; import { Participant, ShowAlert } from '../../../@types/types'; import { TranslationRoomConfig } from '../../../producers/socket-receive-methods/translation-receive-methods.service'; import { ModernRenderMode } from '../../../modern/utils/render-mode.utils'; import * as i0 from "@angular/core"; export interface TranslationChannelAvailability { languages: string[]; originalProducerId: string; } export interface TranslationSettingsModalOptions { isVisible: boolean; onClose: () => void; translationSupported: boolean; translationConfig: TranslationRoomConfig | null; member: string; islevel: string; audioProducerId: string | null; participants: Participant[]; mySpokenLanguage: string; mySpokenLanguageEnabled: boolean; myDefaultOutputLanguage: string | null; myDefaultListenLanguage: string | null; listenPreferences: Map<string, string>; availableTranslationChannels: Map<string, TranslationChannelAvailability>; updateMySpokenLanguage: (lang: string) => void; updateMySpokenLanguageEnabled: (enabled: boolean) => void; updateMyDefaultOutputLanguage: (lang: string | null) => void; updateMyDefaultListenLanguage: (lang: string | null) => void; updateListenPreferences: (prefs: Map<string, string>) => void; socket: Socket; roomName: string; showAlert?: ShowAlert; showSubtitlesOnCards?: boolean; updateShowSubtitlesOnCards?: (value: boolean) => void; canUsePersonalTranslation?: boolean; personalTranslationUsername?: string; } export declare class TranslationSettingsModal implements OnChanges { isVisible: boolean; onClose: () => void; translationSupported: boolean; translationConfig: TranslationRoomConfig | null; member: string; islevel: string; audioProducerId: string | null; participants: Participant[]; mySpokenLanguage: string; mySpokenLanguageEnabled: boolean; myDefaultOutputLanguage: string | null; myDefaultListenLanguage: string | null; listenPreferences: Map<string, string>; availableTranslationChannels: Map<string, TranslationChannelAvailability>; updateMySpokenLanguage: (lang: string) => void; updateMySpokenLanguageEnabled: (enabled: boolean) => void; updateMyDefaultOutputLanguage: (lang: string | null) => void; updateMyDefaultListenLanguage: (lang: string | null) => void; updateListenPreferences: (prefs: Map<string, string>) => void; socket: Socket; roomName: string; showAlert?: ShowAlert; showSubtitlesOnCards: boolean; updateShowSubtitlesOnCards?: (value: boolean) => void; canUsePersonalTranslation: boolean; personalTranslationUsername?: string; overlayStyle?: Partial<CSSStyleDeclaration>; contentStyle?: Partial<CSSStyleDeclaration>; isDarkMode: boolean; renderMode: ModernRenderMode; showHeader: boolean; readonly faTimes: import("@fortawesome/fontawesome-common-types").IconDefinition; readonly faClosedCaptioning: import("@fortawesome/fontawesome-common-types").IconDefinition; readonly faHeadphones: import("@fortawesome/fontawesome-common-types").IconDefinition; readonly faLanguage: import("@fortawesome/fontawesome-common-types").IconDefinition; readonly faMicrophone: import("@fortawesome/fontawesome-common-types").IconDefinition; readonly originalAudioValue = "__original_audio__"; activeTab: 'speaking' | 'listening'; localSpokenLanguage: string; localSpokenEnabled: boolean; localDefaultOutputLanguage: string; localDefaultListenLanguage: string; localListenPreferences: Map<string, string>; perSpeakerMode: boolean; localShowSubtitlesOnCards: boolean; isSaving: boolean; readonly allLanguageOptions: { code: string; name: string; }[]; ngOnChanges(changes: SimpleChanges): void; isVisibleState(): boolean; isEmbedded(): boolean; resolvedOverlayStyle(): Record<string, string | number>; resolvedContentStyle(): Record<string, string | number>; get translationAvailable(): boolean; get spokenLanguageOptions(): Array<{ code: string; name: string; }>; get listenLanguageOptions(): Array<{ code: string; name: string; }>; get listeningParticipants(): Participant[]; syncLocalState(): void; closeModal(): void; getLanguageLabel(code: string | null | undefined): string; getSpeakerName(participant: Participant): string; getSpeakerSelection(participant: Participant): string; getSpeakerOptions(participant: Participant): Array<{ code: string; name: string; }>; hasSpeakerOptions(participant: Participant): boolean; updateSpeakerPreference(participant: Participant, language: string): void; saveSettings(): Promise<void>; private filterLanguageOptions; private normalizeSelectableValue; private getChannelAvailability; private resolveSpeakerId; private getParticipantKeys; static ɵfac: i0.ɵɵFactoryDeclaration<TranslationSettingsModal, never>; static ɵcmp: i0.ɵɵComponentDeclaration<TranslationSettingsModal, "app-translation-settings-modal", never, { "isVisible": { "alias": "isVisible"; "required": false; }; "onClose": { "alias": "onClose"; "required": false; }; "translationSupported": { "alias": "translationSupported"; "required": false; }; "translationConfig": { "alias": "translationConfig"; "required": false; }; "member": { "alias": "member"; "required": false; }; "islevel": { "alias": "islevel"; "required": false; }; "audioProducerId": { "alias": "audioProducerId"; "required": false; }; "participants": { "alias": "participants"; "required": false; }; "mySpokenLanguage": { "alias": "mySpokenLanguage"; "required": false; }; "mySpokenLanguageEnabled": { "alias": "mySpokenLanguageEnabled"; "required": false; }; "myDefaultOutputLanguage": { "alias": "myDefaultOutputLanguage"; "required": false; }; "myDefaultListenLanguage": { "alias": "myDefaultListenLanguage"; "required": false; }; "listenPreferences": { "alias": "listenPreferences"; "required": false; }; "availableTranslationChannels": { "alias": "availableTranslationChannels"; "required": false; }; "updateMySpokenLanguage": { "alias": "updateMySpokenLanguage"; "required": false; }; "updateMySpokenLanguageEnabled": { "alias": "updateMySpokenLanguageEnabled"; "required": false; }; "updateMyDefaultOutputLanguage": { "alias": "updateMyDefaultOutputLanguage"; "required": false; }; "updateMyDefaultListenLanguage": { "alias": "updateMyDefaultListenLanguage"; "required": false; }; "updateListenPreferences": { "alias": "updateListenPreferences"; "required": false; }; "socket": { "alias": "socket"; "required": false; }; "roomName": { "alias": "roomName"; "required": false; }; "showAlert": { "alias": "showAlert"; "required": false; }; "showSubtitlesOnCards": { "alias": "showSubtitlesOnCards"; "required": false; }; "updateShowSubtitlesOnCards": { "alias": "updateShowSubtitlesOnCards"; "required": false; }; "canUsePersonalTranslation": { "alias": "canUsePersonalTranslation"; "required": false; }; "personalTranslationUsername": { "alias": "personalTranslationUsername"; "required": false; }; "overlayStyle": { "alias": "overlayStyle"; "required": false; }; "contentStyle": { "alias": "contentStyle"; "required": false; }; "isDarkMode": { "alias": "isDarkMode"; "required": false; }; "renderMode": { "alias": "renderMode"; "required": false; }; "showHeader": { "alias": "showHeader"; "required": false; }; }, {}, never, never, true, never>; }