import React from 'react';
import { CameraButtonStrings, EndCallButtonStrings, ErrorBarStrings, MessageStatusIndicatorStrings, MessageThreadStrings, MicrophoneButtonStrings, DevicesButtonStrings, ParticipantsButtonStrings, ParticipantItemStrings, ScreenShareButtonStrings, SendBoxStrings, TypingIndicatorStrings, VideoGalleryStrings, CaptionsSettingsModalStrings, CaptionsBannerStrings, StartCaptionsButtonStrings } from '../components';
import { NotificationStackStrings } from '../components';
import { RaiseHandButtonStrings } from '../components';
import { HoldButtonStrings } from '../components';
import { DialpadStrings } from '../components';
import { VideoTileStrings } from '../components/VideoTile';
import { VerticalGalleryStrings } from '../components/VerticalGallery';
import { ImageOverlayStrings } from '../components/ImageOverlay';
import { ReactionButtonStrings } from '../components';
import { MeetingConferencePhoneInfoModalStrings } from '../components/MeetingConferencePhoneInfo';
import { IncomingCallNotificationStrings } from '../components/IncomingCallNotification';
import { CaptionLanguageStrings, SpokenLanguageStrings } from '../types';
/**
 * Locale information for all components exported from this library.
 *
 * @public
 */
export interface ComponentLocale {
    /** Strings for components */
    strings: ComponentStrings;
}
/**
 * Strings used by all components exported from this library.
 *
 * @public
 */
export interface ComponentStrings {
    /** Strings for MessageThread */
    messageThread: MessageThreadStrings;
    /** Strings for ParticipantItem */
    participantItem: ParticipantItemStrings;
    /** Strings for CameraButton */
    cameraButton: CameraButtonStrings;
    /** Strings for MicrophoneButton */
    microphoneButton: MicrophoneButtonStrings;
    /** Strings for EndCallButton */
    endCallButton: EndCallButtonStrings;
    /** Strings for DevicesButton */
    devicesButton: DevicesButtonStrings;
    /** Strings for ParticipantsButton */
    participantsButton: ParticipantsButtonStrings;
    /** Strings for ScreenShareButton */
    screenShareButton: ScreenShareButtonStrings;
    /** Strings for RaiseHandButton */
    raiseHandButton: RaiseHandButtonStrings;
    /**
     * Strings for ReactionButton
     * */
    reactionButton: ReactionButtonStrings;
    /** Strings for TypingIndicator */
    typingIndicator: TypingIndicatorStrings;
    /** Strings for SendBox */
    sendBox: SendBoxStrings;
    /** Strings for ImageOverlay */
    imageOverlay: ImageOverlayStrings;
    /** Strings for MessageStatusIndicator */
    messageStatusIndicator: MessageStatusIndicatorStrings;
    /** Strings for ErrorBar */
    errorBar: ErrorBarStrings;
    /** Strings for NotificationStack */
    notificationStack: NotificationStackStrings;
    /** Strings for VideoGallery */
    videoGallery: VideoGalleryStrings;
    /** Strings for Dialpad */
    dialpad: DialpadStrings;
    /** Strings for VideoTile */
    videoTile: VideoTileStrings;
    /** Strings for HoldButton */
    holdButton: HoldButtonStrings;
    /**
     * Strings for the VerticalGallery.
     */
    verticalGallery: VerticalGalleryStrings;
    /** Strings for the MeetingConferencePhoneInfoModal */
    meetingConferencePhoneInfo: MeetingConferencePhoneInfoModalStrings;
    IncomingCallNotification: IncomingCallNotificationStrings;
    /** Strings for Captions Setting Modal */
    captionsSettingsModal: CaptionsSettingsModalStrings;
    /**
     * 1 to 1 mapping between language code and language string for spoken languages
     */
    spokenLanguages: SpokenLanguageStrings;
    /**
     * 1 to 1 mapping between language code and language string for caption languages
     */
    captionLanguages: CaptionLanguageStrings;
    /** Strings for CaptionsBanner */
    captionsBanner: CaptionsBannerStrings;
    /** Strings for Start Captions Button */
    startCaptionsButton: StartCaptionsButtonStrings;
}
/**
 * Context for providing localized strings to components exported from this library.
 *
 * @public
 */
export declare const LocaleContext: React.Context<ComponentLocale>;
/**
 * Props for {@link LocalizationProvider}.
 *
 * @public
 */
export type LocalizationProviderProps = {
    /** Locale context to provide components */
    locale: ComponentLocale;
    /** Children to provide locale context. */
    children: React.ReactNode;
};
/**
 * Provider to provide localized strings for this library's react components.
 *
 * @remarks Components will be provided localized strings in English (US) by default if this
 * provider is not used.
 *
 * @public
 */
export declare const LocalizationProvider: (props: LocalizationProviderProps) => JSX.Element;
/** React hook to access locale */
export declare const useLocale: () => ComponentLocale;
//# sourceMappingURL=LocalizationProvider.d.ts.map