import React from 'react';
import { StyleProp, ViewStyle } from 'react-native';
import type { Socket } from 'socket.io-client';
import type { TranslationRoomConfig } from '../../producers/socketReceiveMethods/translationReceiveMethods';
import type { Participant, ShowAlert } from '../../@types/types';
interface TranslationSettingsModalProps {
    isTranslationSettingsModalVisible?: boolean;
    onTranslationSettingsClose?: () => void;
    backgroundColor?: string;
    style?: StyleProp<ViewStyle>;
    isDarkMode?: boolean;
    position?: 'topLeft' | 'topRight' | 'bottomLeft' | 'bottomRight' | 'center';
    renderContainer?: (options: {
        defaultContainer: React.ReactElement;
        dimensions: {
            width: number;
            height: number;
        };
    }) => React.ReactNode;
    translationConfig?: TranslationRoomConfig | null;
    member?: string;
    participants?: Participant[];
    audioProducerId?: string | null;
    mySpokenLanguage?: string;
    mySpokenLanguageEnabled?: boolean;
    myDefaultOutputLanguage?: string | null;
    myDefaultListenLanguage?: string | null;
    listenPreferences?: Map<string, string>;
    updateMySpokenLanguage?: (value: string) => void;
    updateMySpokenLanguageEnabled?: (value: boolean) => void;
    updateMyDefaultOutputLanguage?: (value: string | null) => void;
    applyGlobalListenLanguage?: (language: string | null) => Promise<void>;
    applySpeakerListenPreference?: (speakerId: string, language: string | null) => Promise<void>;
    clearSpeakerListenPreference?: (speakerId: string) => Promise<void>;
    showSubtitlesOnCards?: boolean;
    updateShowSubtitlesOnCards?: (value: boolean) => void;
    roomName?: string;
    socket?: Socket | null;
    showAlert?: ShowAlert;
}
declare const TranslationSettingsModal: React.FC<TranslationSettingsModalProps>;
export default TranslationSettingsModal;
