/// <reference types="react" />
import { CaptionsOptions } from './StartCaptionsButton';
import { SpokenLanguageStrings, CaptionLanguageStrings, SupportedSpokenLanguage, SupportedCaptionLanguage } from '../types';
/**
 * @public
 * strings for captions setting modal
 */
export interface CaptionsSettingsModalStrings {
    /**
     * Title for the modal
     */
    captionsSettingsModalTitle?: string;
    /**
     * Label for the spoken language dropdown menu
     */
    captionsSettingsSpokenLanguageDropdownLabel?: string;
    /**
     * Label for the caption language dropdown menu
     */
    captionsSettingsCaptionLanguageDropdownLabel?: string;
    /**
     * Disclaimer for the spoken language dropdown menu
     */
    captionsSettingsSpokenLanguageDropdownInfoText?: string;
    /**
     * Disclaimer for the caption language dropdown menu
     */
    captionsSettingsCaptionLanguageDropdownInfoText?: string;
    /**
     * Label for the confirm button
     */
    captionsSettingsConfirmButtonLabel?: string;
    /**
     * Label for the cancel button
     */
    captionsSettingsCancelButtonLabel?: string;
    /**
     * Aria label for the modal
     */
    captionsSettingsModalAriaLabel?: string;
    /**
     * Aria label for the close modal button
     */
    captionsSettingsCloseModalButtonAriaLabel?: string;
}
/**
 * @public
 * CaptionsSettingsModal Component Props.
 */
export interface CaptionsSettingsModalProps {
    /**
     * List of supported spoken languages
     */
    supportedSpokenLanguages: SupportedSpokenLanguage[];
    /**
     * List of supported caption languages
     */
    supportedCaptionLanguages?: SupportedCaptionLanguage[];
    /**
     * Callback to set spoken language
     */
    onSetSpokenLanguage: (language: SupportedSpokenLanguage) => Promise<void>;
    /**
     * Callback to set caption language
     */
    onSetCaptionLanguage?: (language: SupportedCaptionLanguage) => Promise<void>;
    /**
     * Callback to start captions
     */
    onStartCaptions: (options?: CaptionsOptions) => Promise<void>;
    /**
     * Current spoken language
     */
    currentSpokenLanguage: SupportedSpokenLanguage;
    /**
     * Current caption language
     */
    currentCaptionLanguage?: SupportedCaptionLanguage;
    /**
     * 1 to 1 mapping between language code and language string for spoken languages
     */
    spokenLanguageStrings?: SpokenLanguageStrings;
    /**
     * 1 to 1 mapping between language code and language string for caption languages
     */
    captionLanguageStrings?: CaptionLanguageStrings;
    /**
     * Flag to indicate if captions feature is active
     */
    isCaptionsFeatureActive?: boolean;
    /**
     * Strings for the captions settings modal
     */
    strings?: CaptionsSettingsModalStrings;
    /**
     * Flag to show the modal
     */
    showModal?: boolean;
    /**
     * Callback that is triggered when the modal is dismissed
     */
    onDismissCaptionsSettings?: () => void;
    /**
     * Flag to show the caption language dropdown
     */
    changeCaptionLanguage?: boolean;
}
/**
 * @public
 * a component for setting spoken languages
 */
export declare const CaptionsSettingsModal: (props: CaptionsSettingsModalProps) => JSX.Element;
//# sourceMappingURL=CaptionsSettingsModal.d.ts.map