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; availableTranslationChannels: Map; updateMySpokenLanguage: (lang: string) => void; updateMySpokenLanguageEnabled: (enabled: boolean) => void; updateMyDefaultOutputLanguage: (lang: string | null) => void; updateMyDefaultListenLanguage: (lang: string | null) => void; updateListenPreferences: (prefs: Map) => 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; availableTranslationChannels: Map; updateMySpokenLanguage: (lang: string) => void; updateMySpokenLanguageEnabled: (enabled: boolean) => void; updateMyDefaultOutputLanguage: (lang: string | null) => void; updateMyDefaultListenLanguage: (lang: string | null) => void; updateListenPreferences: (prefs: Map) => void; socket: Socket; roomName: string; showAlert?: ShowAlert; showSubtitlesOnCards: boolean; updateShowSubtitlesOnCards?: (value: boolean) => void; canUsePersonalTranslation: boolean; personalTranslationUsername?: string; overlayStyle?: Partial; contentStyle?: Partial; 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; perSpeakerMode: boolean; localShowSubtitlesOnCards: boolean; isSaving: boolean; readonly allLanguageOptions: { code: string; name: string; }[]; ngOnChanges(changes: SimpleChanges): void; isVisibleState(): boolean; isEmbedded(): boolean; resolvedOverlayStyle(): Record; resolvedContentStyle(): Record; 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; private filterLanguageOptions; private normalizeSelectableValue; private getChannelAvailability; private resolveSpeakerId; private getParticipantKeys; static ɵfac: i0.ɵɵFactoryDeclaration; static ɵcmp: i0.ɵɵComponentDeclaration; }