Skip to content

Latest commit

 

History

History
1525 lines (1378 loc) · 57.9 KB

File metadata and controls

1525 lines (1378 loc) · 57.9 KB

API Report File for "@internal/react-composites"

Do not edit this file. It is a report generated by API Extractor.

/// <reference types="react" />

import { AudioDeviceInfo } from '@azure/communication-calling';
import type { BackgroundBlurConfig } from '@azure/communication-calling';
import type { BackgroundReplacementConfig } from '@azure/communication-calling';
import { Call } from '@azure/communication-calling';
import { CallAgent } from '@azure/communication-calling';
import { CallState } from '@internal/calling-stateful-client';
import type { CapabilitiesChangeInfo } from '@azure/communication-calling';
import { CaptionLanguageStrings } from '@internal/react-components';
import { CaptionsInfo } from '@internal/calling-stateful-client';
import type { ChatMessage } from '@azure/communication-chat';
import { ChatParticipant } from '@azure/communication-chat';
import { ChatThreadClient } from '@azure/communication-chat';
import { ChatThreadClientState } from '@internal/chat-stateful-client';
import { CommunicationIdentifierKind } from '@azure/communication-common';
import { CommunicationParticipant } from '@internal/react-components';
import { CommunicationTokenCredential } from '@azure/communication-common';
import { CommunicationUserIdentifier } from '@azure/communication-common';
import type { CommunicationUserKind } from '@azure/communication-common';
import { ComponentLocale } from '@internal/react-components';
import { CreateVideoStreamViewResult } from '@internal/react-components';
import { DeviceManagerState } from '@internal/calling-stateful-client';
import { DtmfTone } from '@azure/communication-calling';
import type { FileMetadata } from '@internal/react-components';
import { GroupCallLocator } from '@azure/communication-calling';
import type { MediaDiagnosticChangedEventArgs } from '@azure/communication-calling';
import { MessageProps } from '@internal/react-components';
import { MessageRenderer } from '@internal/react-components';
import { Model } from '@internal/fake-backends';
import type { NetworkDiagnosticChangedEventArgs } from '@azure/communication-calling';
import { PartialTheme } from '@fluentui/react';
import { ParticipantMenuItemsCallback } from '@internal/react-components';
import { ParticipantRole } from '@azure/communication-calling';
import { PermissionConstraints } from '@azure/communication-calling';
import { PersonaInitialsColor } from '@fluentui/react';
import { PropertyChangedEvent } from '@azure/communication-calling';
import { default as React_2 } from 'react';
import type { RemoteParticipant } from '@azure/communication-calling';
import { RoomCallLocator } from '@azure/communication-calling';
import { SendMessageOptions } from '@azure/communication-chat';
import { SpokenLanguageStrings } from '@internal/react-components';
import { StartCallOptions } from '@azure/communication-calling';
import { StartCaptionsOptions } from '@azure/communication-calling';
import { StatefulCallClient } from '@internal/calling-stateful-client';
import { StatefulChatClient } from '@internal/chat-stateful-client';
import { TeamsMeetingLinkLocator } from '@azure/communication-calling';
import { _TelemetryImplementationHint } from '@internal/acs-ui-common';
import { Theme } from '@fluentui/react';
import { VideoBackgroundEffectsDependency } from '@internal/calling-component-bindings';
import { VideoDeviceInfo } from '@azure/communication-calling';
import { VideoGalleryLayout } from '@internal/react-components';
import { VideoStreamOptions } from '@internal/react-components';

// @public
export interface AdapterError extends Error {
    innerError: Error;
    target: string;
    timestamp: Date;
}

// @public
export type AdapterErrors = {
    [target: string]: AdapterError;
};

// @public
export interface AdapterState<TState> {
    getState(): TState;
    offStateChange(handler: (state: TState) => void): void;
    onStateChange(handler: (state: TState) => void): void;
}

// @public
export type AvatarPersonaData = {
    text?: string;
    imageUrl?: string;
    imageInitials?: string;
    initialsColor?: PersonaInitialsColor | string;
    initialsTextColor?: string;
};

// @public
export type AvatarPersonaDataCallback = (userId: string) => Promise<AvatarPersonaData>;

// @public
export type AzureCommunicationCallAdapterArgs = {
    userId: CommunicationUserIdentifier;
    displayName: string;
    credential: CommunicationTokenCredential;
    locator: CallAdapterLocator;
    options?: AzureCommunicationCallAdapterOptions;
};

// @public
export type AzureCommunicationCallAdapterOptions = CommonCallAdapterOptions;

// @public
export type AzureCommunicationCallWithChatAdapterArgs = {
    endpoint: string;
    userId: CommunicationUserIdentifier;
    displayName: string;
    credential: CommunicationTokenCredential;
    locator: CallAndChatLocator | TeamsMeetingLinkLocator;
    callAdapterOptions?: AzureCommunicationCallAdapterOptions;
};

// @public
export type AzureCommunicationCallWithChatAdapterFromClientArgs = {
    callLocator: CallAdapterLocator | TeamsMeetingLinkLocator;
    callAgent: CallAgent;
    callClient: StatefulCallClient;
    chatClient: StatefulChatClient;
    chatThreadClient: ChatThreadClient;
    callAdapterOptions?: AzureCommunicationCallAdapterOptions;
};

// @public
export type AzureCommunicationChatAdapterArgs = {
    endpoint: string;
    userId: CommunicationUserIdentifier;
    displayName: string;
    credential: CommunicationTokenCredential;
    threadId: string;
};

// @public
export interface BaseCompositeProps<TIcons extends Record<string, JSX.Element>> {
    fluentTheme?: PartialTheme | Theme;
    icons?: TIcons;
    locale?: CompositeLocale;
    onFetchAvatarPersonaData?: AvatarPersonaDataCallback;
    onFetchParticipantMenuItems?: ParticipantMenuItemsCallback;
    rtl?: boolean;
}

// @public
export interface CallAdapter extends CommonCallAdapter {
    // @deprecated
    joinCall(microphoneOn?: boolean): Call | undefined;
    joinCall(options?: JoinCallOptions): Call | undefined;
    startCall(participants: string[], options?: StartCallOptions): Call | undefined;
}

// @public
export type CallAdapterCallEndedEvent = {
    callId: string;
};

// @public @deprecated
export interface CallAdapterCallManagement extends CallAdapterCallOperations {
    // @deprecated
    joinCall(microphoneOn?: boolean): Call | undefined;
    joinCall(options?: JoinCallOptions): Call | undefined;
    startCall(participants: string[], options?: StartCallOptions): Call | undefined;
}

// @public
export interface CallAdapterCallOperations {
    createStreamView(remoteUserId?: string, options?: VideoStreamOptions): Promise<void | CreateVideoStreamViewResult>;
    disposeLocalVideoStreamView(): Promise<void>;
    disposeRemoteVideoStreamView(remoteUserId: string): Promise<void>;
    disposeScreenShareStreamView(remoteUserId: string): Promise<void>;
    // @deprecated
    disposeStreamView(remoteUserId?: string, options?: VideoStreamOptions): Promise<void>;
    leaveCall(forEveryone?: boolean): Promise<void>;
    lowerHand(): Promise<void>;
    mute(): Promise<void>;
    raiseHand(): Promise<void>;
    removeParticipant(userId: string): Promise<void>;
    setCaptionLanguage(language: string): Promise<void>;
    setSpokenLanguage(language: string): Promise<void>;
    startCamera(options?: VideoStreamOptions): Promise<void>;
    startCaptions(options?: StartCaptionsOptions): Promise<void>;
    startScreenShare(): Promise<void>;
    startVideoBackgroundEffect(videoBackgroundEffect: VideoBackgroundEffect): Promise<void>;
    stopCamera(): Promise<void>;
    stopCaptions(): Promise<void>;
    stopScreenShare(): Promise<void>;
    stopVideoBackgroundEffects(): Promise<void>;
    unmute(): Promise<void>;
    updateBackgroundPickerImages(backgroundImages: VideoBackgroundImage[]): void;
    updateSelectedVideoBackgroundEffect(selectedVideoBackground: VideoBackgroundEffect): void;
}

// @public
export type CallAdapterClientState = {
    userId: CommunicationIdentifierKind;
    displayName?: string;
    call?: CallState;
    devices: DeviceManagerState;
    endedCall?: CallState;
    isTeamsCall: boolean;
    isRoomsCall: boolean;
    latestErrors: AdapterErrors;
    cameraStatus?: 'On' | 'Off';
    videoBackgroundImages?: VideoBackgroundImage[];
    onResolveVideoEffectDependency?: () => Promise<VideoBackgroundEffectsDependency>;
    selectedVideoBackgroundEffect?: VideoBackgroundEffect;
};

// @public
export interface CallAdapterDeviceManagement {
    askDevicePermission(constrain: PermissionConstraints): Promise<void>;
    queryCameras(): Promise<VideoDeviceInfo[]>;
    queryMicrophones(): Promise<AudioDeviceInfo[]>;
    querySpeakers(): Promise<AudioDeviceInfo[]>;
    setCamera(sourceInfo: VideoDeviceInfo, options?: VideoStreamOptions): Promise<void>;
    setMicrophone(sourceInfo: AudioDeviceInfo): Promise<void>;
    setSpeaker(sourceInfo: AudioDeviceInfo): Promise<void>;
}

// @public
export type CallAdapterLocator = TeamsMeetingLinkLocator | GroupCallLocator | /* @conditional-compile-remove(rooms) */ RoomCallLocator;

// @public
export type CallAdapterState = CallAdapterUiState & CallAdapterClientState;

// @public
export interface CallAdapterSubscribers {
    off(event: 'participantsJoined', listener: ParticipantsJoinedListener): void;
    off(event: 'participantsLeft', listener: ParticipantsLeftListener): void;
    off(event: 'isMutedChanged', listener: IsMutedChangedListener): void;
    off(event: 'callIdChanged', listener: CallIdChangedListener): void;
    off(event: 'isLocalScreenSharingActiveChanged', listener: IsLocalScreenSharingActiveChangedListener): void;
    off(event: 'displayNameChanged', listener: DisplayNameChangedListener): void;
    off(event: 'isSpeakingChanged', listener: IsSpeakingChangedListener): void;
    off(event: 'callEnded', listener: CallEndedListener): void;
    off(event: 'diagnosticChanged', listener: DiagnosticChangedEventListner): void;
    off(event: 'selectedMicrophoneChanged', listener: PropertyChangedEvent): void;
    off(event: 'selectedSpeakerChanged', listener: PropertyChangedEvent): void;
    off(event: 'error', listener: (e: AdapterError) => void): void;
    off(event: 'captionsReceived', listener: CaptionsReceivedListener): void;
    off(event: 'isCaptionsActiveChanged', listener: IsCaptionsActiveChangedListener): void;
    off(event: 'isCaptionLanguageChanged', listener: IsCaptionLanguageChangedListener): void;
    off(event: 'isSpokenLanguageChanged', listener: IsSpokenLanguageChangedListener): void;
    off(event: 'capabilitiesChanged', listener: CapabilitiesChangedListener): void;
    off(event: 'roleChanged', listener: PropertyChangedEvent): void;
    on(event: 'participantsJoined', listener: ParticipantsJoinedListener): void;
    on(event: 'participantsLeft', listener: ParticipantsLeftListener): void;
    on(event: 'isMutedChanged', listener: IsMutedChangedListener): void;
    on(event: 'callIdChanged', listener: CallIdChangedListener): void;
    on(event: 'isLocalScreenSharingActiveChanged', listener: IsLocalScreenSharingActiveChangedListener): void;
    on(event: 'displayNameChanged', listener: DisplayNameChangedListener): void;
    on(event: 'isSpeakingChanged', listener: IsSpeakingChangedListener): void;
    on(event: 'callEnded', listener: CallEndedListener): void;
    on(event: 'diagnosticChanged', listener: DiagnosticChangedEventListner): void;
    on(event: 'selectedMicrophoneChanged', listener: PropertyChangedEvent): void;
    on(event: 'selectedSpeakerChanged', listener: PropertyChangedEvent): void;
    on(event: 'error', listener: (e: AdapterError) => void): void;
    on(event: 'captionsReceived', listener: CaptionsReceivedListener): void;
    on(event: 'isCaptionsActiveChanged', listener: IsCaptionsActiveChangedListener): void;
    on(event: 'isCaptionLanguageChanged', listener: IsCaptionLanguageChangedListener): void;
    on(event: 'isSpokenLanguageChanged', listener: IsSpokenLanguageChangedListener): void;
    on(event: 'capabilitiesChanged', listener: CapabilitiesChangedListener): void;
    on(event: 'roleChanged', listener: PropertyChangedEvent): void;
}

// @public
export type CallAdapterUiState = {
    isLocalPreviewMicrophoneEnabled: boolean;
    page: CallCompositePage;
};

// @public
export interface CallAndChatLocator {
    callLocator: GroupCallLocator;
    chatThreadId: string;
}

// @public
export const CallComposite: (props: CallCompositeProps) => JSX.Element;

// @public
export type CallCompositeIcons = {
    ControlBarPeopleButton?: JSX.Element;
    ControlButtonCameraOff?: JSX.Element;
    ControlButtonCameraOn?: JSX.Element;
    ControlButtonEndCall?: JSX.Element;
    ControlButtonMicOff?: JSX.Element;
    ControlButtonMicOn?: JSX.Element;
    ControlButtonOptions?: JSX.Element;
    ControlButtonParticipants?: JSX.Element;
    ControlButtonScreenShareStart?: JSX.Element;
    ControlButtonScreenShareStop?: JSX.Element;
    ControlButtonCameraProhibited?: JSX.Element;
    ControlButtonMicProhibited?: JSX.Element;
    ControlButtonRaiseHand?: JSX.Element;
    ControlButtonLowerHand?: JSX.Element;
    RaiseHandContextualMenuItem?: JSX.Element;
    LowerHandContextualMenuItem?: JSX.Element;
    ErrorBarCallCameraAccessDenied?: JSX.Element;
    ErrorBarCallCameraAlreadyInUse?: JSX.Element;
    ErrorBarCallLocalVideoFreeze?: JSX.Element;
    ErrorBarCallMacOsCameraAccessDenied?: JSX.Element;
    ErrorBarCallMacOsMicrophoneAccessDenied?: JSX.Element;
    ErrorBarCallMicrophoneAccessDenied?: JSX.Element;
    ErrorBarCallMicrophoneMutedBySystem?: JSX.Element;
    ErrorBarCallMicrophoneUnmutedBySystem?: JSX.Element;
    ErrorBarCallNetworkQualityLow?: JSX.Element;
    ErrorBarCallNoMicrophoneFound?: JSX.Element;
    ErrorBarCallNoSpeakerFound?: JSX.Element;
    ErrorBarClear?: JSX.Element;
    HorizontalGalleryLeftButton?: JSX.Element;
    HorizontalGalleryRightButton?: JSX.Element;
    LobbyScreenConnectingToCall?: JSX.Element;
    LobbyScreenWaitingToBeAdmitted?: JSX.Element;
    LocalDeviceSettingsCamera?: JSX.Element;
    LocalDeviceSettingsMic?: JSX.Element;
    LocalDeviceSettingsSpeaker?: JSX.Element;
    LocalPreviewPlaceholder?: JSX.Element;
    Muted?: JSX.Element;
    NetworkReconnectIcon?: JSX.Element;
    NoticePageAccessDeniedTeamsMeeting?: JSX.Element;
    NoticePageJoinCallFailedDueToNoNetwork?: JSX.Element;
    NoticePageLeftCall?: JSX.Element;
    NoticePageRemovedFromCall?: JSX.Element;
    NoticePageNotInvitedToRoom?: JSX.Element;
    NoticePageRoomNotFound?: JSX.Element;
    NoticePageRoomNotValid?: JSX.Element;
    NoticePageCallTimeout?: JSX.Element;
    OptionsCamera?: JSX.Element;
    OptionsMic?: JSX.Element;
    OptionsSpeaker?: JSX.Element;
    ParticipantItemMicOff?: JSX.Element;
    ParticipantItemOptions?: JSX.Element;
    ParticipantItemOptionsHovered?: JSX.Element;
    ParticipantItemScreenShareStart?: JSX.Element;
    VideoTileMicOff?: JSX.Element;
    LocalCameraSwitch?: JSX.Element;
    NoticePageInviteToRoomRemoved?: JSX.Element;
    BlurVideoBackground?: JSX.Element;
    RemoveVideoBackgroundEffect?: JSX.Element;
    GalleryOptions?: JSX.Element;
    SpeakerGalleryLayout?: JSX.Element;
    FloatingLocalVideoGalleryLayout?: JSX.Element;
    DefaultGalleryLayout?: JSX.Element;
    FocusedContentGalleryLayout?: JSX.Element;
    OverflowGalleryTop?: JSX.Element;
    LargeGalleryLayout?: JSX.Element;
    DefaultCustomButton?: JSX.Element;
};

// @public
export type CallCompositeOptions = {
    errorBar?: boolean;
    callControls?: boolean | CallControlOptions;
    remoteVideoTileMenuOptions?: RemoteVideoTileMenuOptions;
    galleryOptions?: {
        layout?: VideoGalleryLayout;
    };
};

// @public
export type CallCompositePage = 'accessDeniedTeamsMeeting' | 'call' | 'configuration' | 'joinCallFailedDueToNoNetwork' | 'leftCall' | 'leaving' | 'lobby' | 'removedFromCall';

// @public
export interface CallCompositeProps extends BaseCompositeProps<CallCompositeIcons> {
    adapter: CommonCallAdapter;
    callInvitationUrl?: string;
    formFactor?: 'desktop' | 'mobile';
    options?: CallCompositeOptions;
}

// @public
export interface CallCompositeStrings {
    blurBackgroundEffectButtonLabel?: string;
    blurBackgroundTooltip?: string;
    callTimeoutDetails?: string;
    callTimeoutTitle?: string;
    cameraLabel: string;
    cameraOffBackgroundEffectWarningText?: string;
    cameraPermissionDenied: string;
    cameraTurnedOff: string;
    capabilityChangedNotification?: CapabilityChangedNotificationStrings;
    captionLanguageStrings?: CaptionLanguageStrings;
    captionsBannerMoreButtonCallingLabel?: string;
    captionsBannerMoreButtonTooltip?: string;
    captionsBannerSpinnerText?: string;
    captionsSettingsCancelButtonLabel?: string;
    captionsSettingsCaptionLanguageDropdownInfoText?: string;
    captionsSettingsCaptionLanguageDropdownLabel?: string;
    captionsSettingsCloseModalButtonAriaLabel?: string;
    captionsSettingsConfirmButtonLabel?: string;
    captionsSettingsLabel?: string;
    captionsSettingsModalAriaLabel?: string;
    captionsSettingsModalTitle?: string;
    captionsSettingsSpokenLanguageDropdownInfoText?: string;
    captionsSettingsSpokenLanguageDropdownLabel?: string;
    chatButtonLabel: string;
    close: string;
    complianceBannerNowOnlyRecording: string;
    complianceBannerNowOnlyTranscription: string;
    complianceBannerRecordingAndTranscriptionSaved: string;
    complianceBannerRecordingAndTranscriptionStarted: string;
    complianceBannerRecordingAndTranscriptionStopped: string;
    complianceBannerRecordingSaving: string;
    complianceBannerRecordingStarted: string;
    complianceBannerRecordingStopped: string;
    complianceBannerTranscriptionConsent: string;
    complianceBannerTranscriptionSaving: string;
    complianceBannerTranscriptionStarted: string;
    complianceBannerTranscriptionStopped: string;
    configurationPageCallDetails?: string;
    configurationPageTitle: string;
    configurationPageVideoEffectsButtonLabel?: string;
    copyInviteLinkActionedAriaLabel: string;
    defaultPlaceHolder: string;
    dismissModalAriaLabel?: string;
    dismissSidePaneButtonLabel?: string;
    failedToJoinCallDueToNoNetworkMoreDetails?: string;
    failedToJoinCallDueToNoNetworkTitle: string;
    failedToJoinTeamsMeetingReasonAccessDeniedMoreDetails?: string;
    failedToJoinTeamsMeetingReasonAccessDeniedTitle: string;
    inviteToRoomRemovedDetails?: string;
    inviteToRoomRemovedTitle: string;
    learnMore: string;
    leavingCallTitle?: string;
    leftCallMoreDetails?: string;
    leftCallTitle: string;
    liveCaptionsLabel?: string;
    lobbyScreenConnectingToCallMoreDetails?: string;
    lobbyScreenConnectingToCallTitle: string;
    lobbyScreenWaitingToBeAdmittedMoreDetails?: string;
    lobbyScreenWaitingToBeAdmittedTitle: string;
    manyParticipantsJoined: string;
    manyParticipantsLeft: string;
    manyUnnamedParticipantsJoined: string;
    manyUnnamedParticipantsLeft: string;
    microphonePermissionDenied: string;
    microphoneToggleInLobbyNotAllowed: string;
    moreButtonCallingLabel: string;
    moreButtonGalleryControlLabel?: string;
    moreButtonGalleryDefaultLayoutLabel?: string;
    moreButtonGalleryFloatingLocalLayoutLabel?: string;
    moreButtonGalleryFocusedContentLayoutLabel?: string;
    moreButtonGalleryPositionToggleLabel?: string;
    moreButtonGallerySpeakerLayoutLabel?: string;
    moreButtonLargeGalleryDefaultLayoutLabel?: string;
    mutedMessage: string;
    networkReconnectMoreDetails: string;
    networkReconnectTitle: string;
    noCamerasLabel: string;
    noMicrophonesLabel: string;
    noSpeakersLabel: string;
    notInvitedToRoomDetails?: string;
    notInvitedToRoomTitle: string;
    participantJoinedNoticeString: string;
    participantLeftNoticeString: string;
    peopleButtonLabel: string;
    peoplePaneTitle: string;
    privacyPolicy: string;
    rejoinCallButtonLabel: string;
    removeBackgroundEffectButtonLabel?: string;
    removeBackgroundTooltip?: string;
    removedFromCallMoreDetails?: string;
    removedFromCallTitle: string;
    returnToCallButtonAriaDescription?: string;
    returnToCallButtonAriaLabel?: string;
    roomNotFoundDetails?: string;
    roomNotFoundTitle: string;
    roomNotValidDetails?: string;
    roomNotValidTitle: string;
    selectedPeopleButtonLabel: string;
    soundLabel: string;
    spokenLanguageStrings?: SpokenLanguageStrings;
    startCallButtonLabel: string;
    startCaptionsButtonOffLabel?: string;
    startCaptionsButtonOnLabel?: string;
    startCaptionsButtonTooltipOffContent?: string;
    startCaptionsButtonTooltipOnContent?: string;
    threeParticipantJoinedNoticeString: string;
    threeParticipantLeftNoticeString: string;
    twoParticipantJoinedNoticeString: string;
    twoParticipantLeftNoticeString: string;
    unableToStartVideoEffect?: string;
    unnamedParticipantString: string;
    videoEffectsPaneBackgroundSelectionTitle: string;
    videoEffectsPaneTitle: string;
}

// @public
export type CallControlDisplayType = 'default' | 'compact';

// @public
export type CallControlOptions = (CommonCallControlOptions & {
    participantsButton?: boolean | {
        disabled: boolean;
    };
    legacyControlBarExperience?: boolean;
});

// @public
export type CallEndedListener = (event: CallAdapterCallEndedEvent) => void;

// @public
export type CallIdChangedListener = (event: {
    callId: string;
}) => void;

// @public
export interface CallWithChatAdapter extends CallWithChatAdapterManagement, AdapterState<CallWithChatAdapterState>, Disposable_2, CallWithChatAdapterSubscriptions {
}

// @public
export interface CallWithChatAdapterManagement {
    askDevicePermission(constrain: PermissionConstraints): Promise<void>;
    createStreamView(remoteUserId?: string, options?: VideoStreamOptions): Promise<void | CreateVideoStreamViewResult>;
    deleteMessage(messageId: string): Promise<void>;
    disposeLocalVideoStreamView(): Promise<void>;
    disposeRemoteVideoStreamView(remoteUserId: string): Promise<void>;
    disposeScreenShareStreamView(remoteUserId: string): Promise<void>;
    disposeStreamView(remoteUserId?: string, options?: VideoStreamOptions): Promise<void>;
    fetchInitialData(): Promise<void>;
    // @deprecated
    joinCall(microphoneOn?: boolean): Call | undefined;
    joinCall(options?: JoinCallOptions): Call | undefined;
    leaveCall(forEveryone?: boolean): Promise<void>;
    loadPreviousChatMessages(messagesToLoad: number): Promise<boolean>;
    lowerHand(): Promise<void>;
    mute(): Promise<void>;
    queryCameras(): Promise<VideoDeviceInfo[]>;
    queryMicrophones(): Promise<AudioDeviceInfo[]>;
    querySpeakers(): Promise<AudioDeviceInfo[]>;
    raiseHand(): Promise<void>;
    removeParticipant(userId: string): Promise<void>;
    sendMessage(content: string, options?: SendMessageOptions): Promise<void>;
    sendReadReceipt(chatMessageId: string): Promise<void>;
    sendTypingIndicator(): Promise<void>;
    setCamera(sourceInfo: VideoDeviceInfo, options?: VideoStreamOptions): Promise<void>;
    setCaptionLanguage(language: string): Promise<void>;
    setMicrophone(sourceInfo: AudioDeviceInfo): Promise<void>;
    setSpeaker(sourceInfo: AudioDeviceInfo): Promise<void>;
    setSpokenLanguage(language: string): Promise<void>;
    startCall(participants: string[], options?: StartCallOptions): Call | undefined;
    startCamera(options?: VideoStreamOptions): Promise<void>;
    startCaptions(options?: StartCaptionsOptions): Promise<void>;
    startScreenShare(): Promise<void>;
    startVideoBackgroundEffect(videoBackgroundEffect: VideoBackgroundEffect): Promise<void>;
    stopCamera(): Promise<void>;
    stopCaptions(): Promise<void>;
    stopScreenShare(): Promise<void>;
    stopVideoBackgroundEffects(): Promise<void>;
    unmute(): Promise<void>;
    updateBackgroundPickerImages(backgroundImages: VideoBackgroundImage[]): void;
    updateMessage(messageId: string, content: string, metadata?: Record<string, string>): Promise<void>;
    updateSelectedVideoBackgroundEffect(selectedVideoBackground: VideoBackgroundEffect): void;
}

// @public
export interface CallWithChatAdapterState extends CallWithChatAdapterUiState, CallWithChatClientState {
}

// @public
export interface CallWithChatAdapterSubscriptions {
    // (undocumented)
    off(event: 'callEnded', listener: CallEndedListener): void;
    // (undocumented)
    off(event: 'isMutedChanged', listener: IsMutedChangedListener): void;
    // (undocumented)
    off(event: 'callIdChanged', listener: CallIdChangedListener): void;
    // (undocumented)
    off(event: 'isLocalScreenSharingActiveChanged', listener: IsLocalScreenSharingActiveChangedListener): void;
    // (undocumented)
    off(event: 'displayNameChanged', listener: DisplayNameChangedListener): void;
    // (undocumented)
    off(event: 'isSpeakingChanged', listener: IsSpeakingChangedListener): void;
    // (undocumented)
    off(event: 'callParticipantsJoined', listener: ParticipantsJoinedListener): void;
    // (undocumented)
    off(event: 'callParticipantsLeft', listener: ParticipantsLeftListener): void;
    // (undocumented)
    off(event: 'selectedMicrophoneChanged', listener: PropertyChangedEvent): void;
    // (undocumented)
    off(event: 'selectedSpeakerChanged', listener: PropertyChangedEvent): void;
    // (undocumented)
    off(event: 'callError', listener: (e: AdapterError) => void): void;
    // (undocumented)
    off(event: 'captionsReceived', listener: CaptionsReceivedListener): void;
    // (undocumented)
    off(event: 'isCaptionsActiveChanged', listener: IsCaptionsActiveChangedListener): void;
    // (undocumented)
    off(event: 'isCaptionLanguageChanged', listener: IsCaptionLanguageChangedListener): void;
    // (undocumented)
    off(event: 'isSpokenLanguageChanged', listener: IsSpokenLanguageChangedListener): void;
    // (undocumented)
    off(event: 'capabilitiesChanged', listener: CapabilitiesChangedListener): void;
    // (undocumented)
    off(event: 'messageReceived', listener: MessageReceivedListener): void;
    // (undocumented)
    off(event: 'messageSent', listener: MessageSentListener): void;
    // (undocumented)
    off(event: 'messageRead', listener: MessageReadListener): void;
    // (undocumented)
    off(event: 'chatParticipantsAdded', listener: ParticipantsAddedListener): void;
    // (undocumented)
    off(event: 'chatParticipantsRemoved', listener: ParticipantsRemovedListener): void;
    // (undocumented)
    off(event: 'chatError', listener: (e: AdapterError) => void): void;
    // (undocumented)
    on(event: 'callEnded', listener: CallEndedListener): void;
    // (undocumented)
    on(event: 'isMutedChanged', listener: IsMutedChangedListener): void;
    // (undocumented)
    on(event: 'callIdChanged', listener: CallIdChangedListener): void;
    // (undocumented)
    on(event: 'isLocalScreenSharingActiveChanged', listener: IsLocalScreenSharingActiveChangedListener): void;
    // (undocumented)
    on(event: 'displayNameChanged', listener: DisplayNameChangedListener): void;
    // (undocumented)
    on(event: 'isSpeakingChanged', listener: IsSpeakingChangedListener): void;
    // (undocumented)
    on(event: 'callParticipantsJoined', listener: ParticipantsJoinedListener): void;
    // (undocumented)
    on(event: 'callParticipantsLeft', listener: ParticipantsLeftListener): void;
    // (undocumented)
    on(event: 'selectedMicrophoneChanged', listener: PropertyChangedEvent): void;
    // (undocumented)
    on(event: 'selectedSpeakerChanged', listener: PropertyChangedEvent): void;
    // (undocumented)
    on(event: 'callError', listener: (e: AdapterError) => void): void;
    // (undocumented)
    on(event: 'captionsReceived', listener: CaptionsReceivedListener): void;
    // (undocumented)
    on(event: 'isCaptionsActiveChanged', listener: IsCaptionsActiveChangedListener): void;
    // (undocumented)
    on(event: 'isCaptionLanguageChanged', listener: IsCaptionLanguageChangedListener): void;
    // (undocumented)
    on(event: 'isSpokenLanguageChanged', listener: IsSpokenLanguageChangedListener): void;
    // (undocumented)
    on(event: 'capabilitiesChanged', listener: CapabilitiesChangedListener): void;
    // (undocumented)
    on(event: 'messageReceived', listener: MessageReceivedListener): void;
    // (undocumented)
    on(event: 'messageSent', listener: MessageSentListener): void;
    // (undocumented)
    on(event: 'messageRead', listener: MessageReadListener): void;
    // (undocumented)
    on(event: 'chatParticipantsAdded', listener: ParticipantsAddedListener): void;
    // (undocumented)
    on(event: 'chatParticipantsRemoved', listener: ParticipantsRemovedListener): void;
    // (undocumented)
    on(event: 'chatError', listener: (e: AdapterError) => void): void;
}

// @public
export interface CallWithChatAdapterUiState {
    isLocalPreviewMicrophoneEnabled: boolean;
    page: CallCompositePage;
}

// @public
export interface CallWithChatClientState {
    call?: CallState;
    chat?: ChatThreadClientState;
    devices: DeviceManagerState;
    displayName: string | undefined;
    isTeamsCall: boolean;
    latestCallErrors: AdapterErrors;
    latestChatErrors: AdapterErrors;
    onResolveVideoEffectDependency?: () => Promise<VideoBackgroundEffectsDependency>;
    selectedVideoBackgroundEffect?: VideoBackgroundEffect;
    userId: CommunicationIdentifierKind;
    videoBackgroundImages?: VideoBackgroundImage[];
}

// @public
export const CallWithChatComposite: (props: CallWithChatCompositeProps) => JSX.Element;

// @public
export type CallWithChatCompositeIcons = {
    ChevronLeft?: JSX.Element;
    ControlBarChatButtonActive?: JSX.Element;
    ControlBarChatButtonInactive?: JSX.Element;
    ControlBarPeopleButton?: JSX.Element;
    Link?: JSX.Element;
    MoreDrawerMicrophones?: JSX.Element;
    MoreDrawerPeople?: JSX.Element;
    MoreDrawerSelectedMicrophone?: JSX.Element;
    MoreDrawerSelectedSpeaker?: JSX.Element;
    MoreDrawerSpeakers?: JSX.Element;
    ControlButtonCameraOff?: JSX.Element;
    ControlButtonCameraOn?: JSX.Element;
    ControlButtonEndCall?: JSX.Element;
    ControlButtonMicOff?: JSX.Element;
    ControlButtonMicOn?: JSX.Element;
    ControlButtonOptions?: JSX.Element;
    ControlButtonScreenShareStart?: JSX.Element;
    ControlButtonScreenShareStop?: JSX.Element;
    ControlButtonCameraProhibited?: JSX.Element;
    ControlButtonMicProhibited?: JSX.Element;
    ErrorBarCallCameraAccessDenied?: JSX.Element;
    ErrorBarCallCameraAlreadyInUse?: JSX.Element;
    ErrorBarCallLocalVideoFreeze?: JSX.Element;
    ErrorBarCallMacOsCameraAccessDenied?: JSX.Element;
    ErrorBarCallMacOsMicrophoneAccessDenied?: JSX.Element;
    ErrorBarCallMicrophoneAccessDenied?: JSX.Element;
    ErrorBarCallMicrophoneMutedBySystem?: JSX.Element;
    ErrorBarCallMicrophoneUnmutedBySystem?: JSX.Element;
    ErrorBarCallNetworkQualityLow?: JSX.Element;
    ErrorBarCallNoMicrophoneFound?: JSX.Element;
    ErrorBarCallNoSpeakerFound?: JSX.Element;
    ErrorBarClear?: JSX.Element;
    HorizontalGalleryLeftButton?: JSX.Element;
    HorizontalGalleryRightButton?: JSX.Element;
    LobbyScreenConnectingToCall?: JSX.Element;
    LobbyScreenWaitingToBeAdmitted?: JSX.Element;
    LocalDeviceSettingsCamera?: JSX.Element;
    LocalDeviceSettingsMic?: JSX.Element;
    LocalDeviceSettingsSpeaker?: JSX.Element;
    LocalPreviewPlaceholder?: JSX.Element;
    Muted?: JSX.Element;
    NetworkReconnectIcon?: JSX.Element;
    NoticePageAccessDeniedTeamsMeeting?: JSX.Element;
    NoticePageJoinCallFailedDueToNoNetwork?: JSX.Element;
    NoticePageLeftCall?: JSX.Element;
    NoticePageRemovedFromCall?: JSX.Element;
    OptionsCamera?: JSX.Element;
    OptionsMic?: JSX.Element;
    OptionsSpeaker?: JSX.Element;
    ParticipantItemMicOff?: JSX.Element;
    ParticipantItemScreenShareStart?: JSX.Element;
    VideoTileMicOff?: JSX.Element;
    LocalCameraSwitch?: JSX.Element;
    DefaultCustomButton?: JSX.Element;
    EditBoxCancel?: JSX.Element;
    EditBoxSubmit?: JSX.Element;
    MessageDelivered?: JSX.Element;
    MessageEdit?: JSX.Element;
    MessageFailed?: JSX.Element;
    MessageRemove?: JSX.Element;
    MessageSeen?: JSX.Element;
    MessageSending?: JSX.Element;
    SendBoxSend?: JSX.Element;
    SendBoxSendHovered?: JSX.Element;
    SendBoxAttachFile?: JSX.Element;
    ParticipantItemOptions?: JSX.Element;
    ParticipantItemOptionsHovered?: JSX.Element;
};

// @public
export type CallWithChatCompositeOptions = {
    callControls?: boolean | CallWithChatControlOptions;
    remoteVideoTileMenuOptions?: RemoteVideoTileMenuOptions;
    galleryOptions?: {
        layout?: VideoGalleryLayout;
    };
};

// @public
export interface CallWithChatCompositeProps extends BaseCompositeProps<CallWithChatCompositeIcons> {
    // (undocumented)
    adapter: CallWithChatAdapter;
    fluentTheme?: PartialTheme | Theme;
    formFactor?: 'desktop' | 'mobile';
    joinInvitationURL?: string;
    options?: CallWithChatCompositeOptions;
}

// @public
export interface CallWithChatCompositeStrings {
    chatButtonLabel: string;
    chatButtonNewMessageNotificationLabel: string;
    chatButtonTooltipClose: string;
    chatButtonTooltipClosedWithMessageCount: string;
    chatButtonTooltipOpen: string;
    chatPaneTitle: string;
    copyInviteLinkActionedAriaLabel: string;
    copyInviteLinkButtonLabel: string;
    dismissSidePaneButtonLabel?: string;
    moreDrawerAudioDeviceMenuTitle?: string;
    moreDrawerButtonLabel: string;
    moreDrawerButtonTooltip: string;
    moreDrawerCaptionLanguageMenuTitle: string;
    moreDrawerCaptionsMenuTitle: string;
    moreDrawerGalleryOptionsMenuTitle: string;
    moreDrawerMicrophoneMenuTitle: string;
    moreDrawerSpeakerMenuTitle: string;
    moreDrawerSpokenLanguageMenuTitle: string;
    peopleButtonLabel: string;
    peopleButtonTooltipClose: string;
    peopleButtonTooltipOpen: string;
    peoplePaneSubTitle: string;
    peoplePaneTitle: string;
    pictureInPictureTileAriaLabel: string;
    removeMenuLabel: string;
    returnToCallButtonAriaDescription?: string;
    returnToCallButtonAriaLabel?: string;
    selectedPeopleButtonLabel: string;
}

// @public
export interface CallWithChatControlOptions extends CommonCallControlOptions {
    chatButton?: boolean;
}

// @public
export type CallWithChatEvent = 'callError' | 'chatError' | 'callEnded' | 'isMutedChanged' | 'callIdChanged' | 'isLocalScreenSharingActiveChanged' | 'displayNameChanged' | 'isSpeakingChanged' | 'callParticipantsJoined' | 'callParticipantsLeft' | 'selectedMicrophoneChanged' | 'selectedSpeakerChanged' | /* @conditional-compile-remove(close-captions) */ 'isCaptionsActiveChanged' | /* @conditional-compile-remove(close-captions) */ 'captionsReceived' | /* @conditional-compile-remove(close-captions) */ 'isCaptionLanguageChanged' | /* @conditional-compile-remove(close-captions) */ 'isSpokenLanguageChanged' | /* @conditional-compile-remove(capabilities) */ 'capabilitiesChanged' | 'messageReceived' | 'messageSent' | 'messageRead' | 'chatParticipantsAdded' | 'chatParticipantsRemoved';

// @public
export type CapabilitiesChangedListener = (data: CapabilitiesChangeInfo) => void;

// @public
export interface CapabilityChangedNotificationStrings {
    shareScreen?: {
        lostDueToRoleChangeToAttendee?: string;
        grantedDueToRoleChangeToPresenter?: string;
    };
    turnVideoOn?: {
        lostDueToMeetingOption?: string;
        grantedDueToMeetingOption?: string;
    };
    unmuteMic?: {
        lostDueToMeetingOption?: string;
        grantedDueToMeetingOption?: string;
    };
}

// @public
export type CaptionsReceivedListener = (event: {
    captionsInfo: CaptionsInfo;
}) => void;

// @public
export type ChatAdapter = ChatAdapterThreadManagement & AdapterState<ChatAdapterState> & Disposable_2 & ChatAdapterSubscribers;

// @public
export type ChatAdapterState = ChatAdapterUiState & ChatCompositeClientState;

// @public
export interface ChatAdapterSubscribers {
    off(event: 'messageReceived', listener: MessageReceivedListener): void;
    off(event: 'messageSent', listener: MessageSentListener): void;
    off(event: 'messageRead', listener: MessageReadListener): void;
    off(event: 'participantsAdded', listener: ParticipantsAddedListener): void;
    off(event: 'participantsRemoved', listener: ParticipantsRemovedListener): void;
    off(event: 'topicChanged', listener: TopicChangedListener): void;
    off(event: 'error', listener: (e: AdapterError) => void): void;
    on(event: 'messageReceived', listener: MessageReceivedListener): void;
    on(event: 'messageSent', listener: MessageSentListener): void;
    on(event: 'messageRead', listener: MessageReadListener): void;
    on(event: 'participantsAdded', listener: ParticipantsAddedListener): void;
    on(event: 'participantsRemoved', listener: ParticipantsRemovedListener): void;
    on(event: 'topicChanged', listener: TopicChangedListener): void;
    on(event: 'error', listener: (e: AdapterError) => void): void;
}

// @public
export interface ChatAdapterThreadManagement {
    deleteMessage(messageId: string): Promise<void>;
    fetchInitialData(): Promise<void>;
    loadPreviousChatMessages(messagesToLoad: number): Promise<boolean>;
    removeParticipant(userId: string): Promise<void>;
    sendMessage(content: string, options?: SendMessageOptions): Promise<void>;
    sendReadReceipt(chatMessageId: string): Promise<void>;
    sendTypingIndicator(): Promise<void>;
    setTopic(topicName: string): Promise<void>;
    updateMessage(messageId: string, content: string, metadata?: Record<string, string>): Promise<void>;
}

// @public
export type ChatAdapterUiState = {
    error?: Error;
};

// @public
export const ChatComposite: (props: ChatCompositeProps) => JSX.Element;

// @public
export type ChatCompositeClientState = {
    userId: CommunicationIdentifierKind;
    displayName: string;
    thread: ChatThreadClientState;
    latestErrors: AdapterErrors;
};

// @public
export type ChatCompositeIcons = {
    EditBoxCancel?: JSX.Element;
    EditBoxSubmit?: JSX.Element;
    MessageDelivered?: JSX.Element;
    MessageEdit?: JSX.Element;
    MessageFailed?: JSX.Element;
    MessageRemove?: JSX.Element;
    MessageSeen?: JSX.Element;
    MessageSending?: JSX.Element;
    ParticipantItemOptions?: JSX.Element;
    ParticipantItemOptionsHovered?: JSX.Element;
    SendBoxSend?: JSX.Element;
    SendBoxSendHovered?: JSX.Element;
};

// @public
export type ChatCompositeOptions = {
    errorBar?: boolean;
    topic?: boolean;
    autoFocus?: 'sendBoxTextField';
};

// @public
export interface ChatCompositeProps extends BaseCompositeProps<ChatCompositeIcons> {
    adapter: ChatAdapter;
    onRenderMessage?: (messageProps: MessageProps, defaultOnRender?: MessageRenderer) => JSX.Element;
    onRenderTypingIndicator?: (typingUsers: CommunicationParticipant[]) => JSX.Element;
    options?: ChatCompositeOptions;
}

// @public
export interface ChatCompositeStrings {
    chatListHeader: string;
}

// @internal (undocumented)
export type _ChatThreadRestError = {
    message: string;
    code?: string;
    statusCode?: number;
};

// @public
export interface CommonCallAdapter extends AdapterState<CallAdapterState>, Disposable_2, CallAdapterCallOperations, CallAdapterDeviceManagement, CallAdapterSubscribers {
    // @deprecated
    joinCall(microphoneOn?: boolean): void;
    joinCall(options?: JoinCallOptions): void;
    startCall(participants: string[], options?: StartCallOptions): void;
}

// @public
export type CommonCallAdapterOptions = {
    videoBackgroundOptions?: {
        videoBackgroundImages?: VideoBackgroundImage[];
        onResolveDependency?: () => Promise<VideoBackgroundEffectsDependency>;
    };
};

// @public
export type CommonCallControlOptions = {
    displayType?: CallControlDisplayType;
    cameraButton?: boolean;
    endCallButton?: boolean;
    microphoneButton?: boolean;
    devicesButton?: boolean;
    participantsButton?: boolean | {
        disabled: boolean;
    };
    screenShareButton?: boolean | {
        disabled: boolean;
    };
    moreButton?: boolean;
    raiseHandButton?: boolean | {
        disabled: boolean;
    };
    onFetchCustomButtonProps?: CustomCallControlButtonCallback[];
    peopleButton?: boolean;
};

// @public
export const COMPOSITE_LOCALE_AR_SA: CompositeLocale;

// @public
export const COMPOSITE_LOCALE_CS_CZ: CompositeLocale;

// @public
export const COMPOSITE_LOCALE_DE_DE: CompositeLocale;

// @public
export const COMPOSITE_LOCALE_EN_GB: CompositeLocale;

// @public
export const COMPOSITE_LOCALE_EN_US: CompositeLocale;

// @public
export const COMPOSITE_LOCALE_ES_ES: CompositeLocale;

// @public
export const COMPOSITE_LOCALE_FI_FI: CompositeLocale;

// @public
export const COMPOSITE_LOCALE_FR_FR: CompositeLocale;

// @public
export const COMPOSITE_LOCALE_HE_IL: CompositeLocale;

// @public
export const COMPOSITE_LOCALE_IT_IT: CompositeLocale;

// @public
export const COMPOSITE_LOCALE_JA_JP: CompositeLocale;

// @public
export const COMPOSITE_LOCALE_KO_KR: CompositeLocale;

// @public
export const COMPOSITE_LOCALE_NB_NO: CompositeLocale;

// @public
export const COMPOSITE_LOCALE_NL_NL: CompositeLocale;

// @public
export const COMPOSITE_LOCALE_PL_PL: CompositeLocale;

// @public
export const COMPOSITE_LOCALE_PT_BR: CompositeLocale;

// @public
export const COMPOSITE_LOCALE_RU_RU: CompositeLocale;

// @public
export const COMPOSITE_LOCALE_SV_SE: CompositeLocale;

// @public
export const COMPOSITE_LOCALE_TR_TR: CompositeLocale;

// @public
export const COMPOSITE_LOCALE_ZH_CN: CompositeLocale;

// @public
export const COMPOSITE_LOCALE_ZH_TW: CompositeLocale;

// @public
export const COMPOSITE_ONLY_ICONS: CompositeIcons;

// @public
export type CompositeIcons = ChatCompositeIcons & CallCompositeIcons & CallWithChatCompositeIcons;

// @public
export interface CompositeLocale {
    component: ComponentLocale;
    strings: CompositeStrings;
}

// @public
export interface CompositeStrings {
    call: CallCompositeStrings;
    callWithChat: CallWithChatCompositeStrings;
    chat: ChatCompositeStrings;
}

// @public
export const createAzureCommunicationCallAdapter: ({ userId, displayName, credential, locator, options }: AzureCommunicationCallAdapterArgs) => Promise<CallAdapter>;

// @public
export const createAzureCommunicationCallAdapterFromClient: (callClient: StatefulCallClient, callAgent: CallAgent, locator: CallAdapterLocator, /* @conditional-compile-remove(video-background-effects) */ options?: AzureCommunicationCallAdapterOptions) => Promise<CallAdapter>;

// @internal
export const _createAzureCommunicationCallAdapterInner: ({ userId, displayName, credential, locator, options, telemetryImplementationHint }: {
    userId: CommunicationUserIdentifier;
    displayName: string;
    credential: CommunicationTokenCredential;
    locator: CallAdapterLocator;
    options?: CommonCallAdapterOptions | undefined;
    telemetryImplementationHint?: _TelemetryImplementationHint | undefined;
}) => Promise<CallAdapter>;

// @public
export const createAzureCommunicationCallWithChatAdapter: ({ userId, displayName, credential, endpoint, locator, callAdapterOptions }: AzureCommunicationCallWithChatAdapterArgs) => Promise<CallWithChatAdapter>;

// @internal
export const _createAzureCommunicationCallWithChatAdapterFromAdapters: (callAdapter: CallAdapter, chatAdapter: ChatAdapter) => CallWithChatAdapter;

// @public
export const createAzureCommunicationCallWithChatAdapterFromClients: ({ callClient, callAgent, callLocator, chatClient, chatThreadClient, callAdapterOptions }: AzureCommunicationCallWithChatAdapterFromClientArgs) => Promise<CallWithChatAdapter>;

// @public
export const createAzureCommunicationChatAdapter: ({ endpoint: endpointUrl, userId, displayName, credential, threadId }: AzureCommunicationChatAdapterArgs) => Promise<ChatAdapter>;

// @public
export function createAzureCommunicationChatAdapterFromClient(chatClient: StatefulChatClient, chatThreadClient: ChatThreadClient): Promise<ChatAdapter>;

// @internal
export const _createAzureCommunicationChatAdapterInner: (endpoint: string, userId: CommunicationUserIdentifier, displayName: string, credential: CommunicationTokenCredential, threadId: string, telemetryImplementationHint?: _TelemetryImplementationHint) => Promise<ChatAdapter>;

// @public
export type CustomCallControlButtonCallback = (args: CustomCallControlButtonCallbackArgs) => CustomCallControlButtonProps;

// @public
export interface CustomCallControlButtonCallbackArgs {
    displayType?: CallControlDisplayType;
}

// @public
export type CustomCallControlButtonPlacement = 'primary' | 'overflow' | 'secondary';

// @public
export interface CustomCallControlButtonProps {
    disabled?: boolean;
    iconName?: string;
    id?: string;
    onItemClick?: () => void;
    placement: CustomCallControlButtonPlacement;
    showLabel?: boolean;
    strings?: CustomCallControlButtonStrings;
}

// @public
export interface CustomCallControlButtonStrings {
    ariaDescription?: string;
    ariaLabel?: string;
    label?: string;
    tooltipContent?: string;
}

// @public
export const DEFAULT_COMPOSITE_ICONS: {
    EditBoxCancel: JSX.Element;
    EditBoxSubmit: JSX.Element;
    MessageDelivered: JSX.Element;
    MessageEdit: JSX.Element;
    MessageFailed: JSX.Element;
    MessageRemove: JSX.Element;
    MessageSeen: JSX.Element;
    MessageSending: JSX.Element;
    ParticipantItemOptions: JSX.Element;
    ParticipantItemOptionsHovered: JSX.Element;
    SendBoxSend: JSX.Element;
    SendBoxSendHovered: JSX.Element;
    ControlBarPeopleButton?: JSX.Element | undefined;
    ControlButtonCameraOff: JSX.Element;
    ControlButtonCameraOn: JSX.Element;
    ControlButtonEndCall: JSX.Element;
    ControlButtonMicOff: JSX.Element;
    ControlButtonMicOn: JSX.Element;
    ControlButtonOptions: JSX.Element;
    ControlButtonParticipants: JSX.Element;
    ControlButtonScreenShareStart: JSX.Element;
    ControlButtonScreenShareStop: JSX.Element;
    ControlButtonCameraProhibited?: JSX.Element | undefined;
    ControlButtonMicProhibited?: JSX.Element | undefined;
    ControlButtonRaiseHand: JSX.Element;
    ControlButtonLowerHand: JSX.Element;
    RaiseHandContextualMenuItem: JSX.Element;
    LowerHandContextualMenuItem: JSX.Element;
    ErrorBarCallCameraAccessDenied: JSX.Element;
    ErrorBarCallCameraAlreadyInUse: JSX.Element;
    ErrorBarCallLocalVideoFreeze: JSX.Element;
    ErrorBarCallMacOsCameraAccessDenied: JSX.Element;
    ErrorBarCallMacOsMicrophoneAccessDenied: JSX.Element;
    ErrorBarCallMicrophoneAccessDenied: JSX.Element;
    ErrorBarCallMicrophoneMutedBySystem: JSX.Element;
    ErrorBarCallMicrophoneUnmutedBySystem: JSX.Element;
    ErrorBarCallNetworkQualityLow: JSX.Element;
    ErrorBarCallNoMicrophoneFound: JSX.Element;
    ErrorBarCallNoSpeakerFound: JSX.Element;
    ErrorBarClear: JSX.Element;
    HorizontalGalleryLeftButton: JSX.Element;
    HorizontalGalleryRightButton: JSX.Element;
    LobbyScreenConnectingToCall?: JSX.Element | undefined;
    LobbyScreenWaitingToBeAdmitted?: JSX.Element | undefined;
    LocalDeviceSettingsCamera?: JSX.Element | undefined;
    LocalDeviceSettingsMic?: JSX.Element | undefined;
    LocalDeviceSettingsSpeaker?: JSX.Element | undefined;
    LocalPreviewPlaceholder?: JSX.Element | undefined;
    Muted?: JSX.Element | undefined;
    NetworkReconnectIcon?: JSX.Element | undefined;
    NoticePageAccessDeniedTeamsMeeting?: JSX.Element | undefined;
    NoticePageJoinCallFailedDueToNoNetwork?: JSX.Element | undefined;
    NoticePageLeftCall?: JSX.Element | undefined;
    NoticePageRemovedFromCall?: JSX.Element | undefined;
    NoticePageNotInvitedToRoom?: JSX.Element | undefined;
    NoticePageRoomNotFound?: JSX.Element | undefined;
    NoticePageRoomNotValid?: JSX.Element | undefined;
    NoticePageCallTimeout?: JSX.Element | undefined;
    OptionsCamera: JSX.Element;
    OptionsMic: JSX.Element;
    OptionsSpeaker: JSX.Element;
    ParticipantItemMicOff: JSX.Element;
    ParticipantItemScreenShareStart: JSX.Element;
    VideoTileMicOff: JSX.Element;
    LocalCameraSwitch?: JSX.Element | undefined;
    NoticePageInviteToRoomRemoved?: JSX.Element | undefined;
    BlurVideoBackground?: JSX.Element | undefined;
    RemoveVideoBackgroundEffect?: JSX.Element | undefined;
    GalleryOptions?: JSX.Element | undefined;
    SpeakerGalleryLayout?: JSX.Element | undefined;
    FloatingLocalVideoGalleryLayout?: JSX.Element | undefined;
    DefaultGalleryLayout?: JSX.Element | undefined;
    FocusedContentGalleryLayout?: JSX.Element | undefined;
    OverflowGalleryTop?: JSX.Element | undefined;
    LargeGalleryLayout?: JSX.Element | undefined;
    DefaultCustomButton?: JSX.Element | undefined;
    ChevronLeft?: JSX.Element | undefined;
    ControlBarChatButtonActive?: JSX.Element | undefined;
    ControlBarChatButtonInactive?: JSX.Element | undefined;
    Link?: JSX.Element | undefined;
    MoreDrawerMicrophones?: JSX.Element | undefined;
    MoreDrawerPeople?: JSX.Element | undefined;
    MoreDrawerSelectedMicrophone?: JSX.Element | undefined;
    MoreDrawerSelectedSpeaker?: JSX.Element | undefined;
    MoreDrawerSpeakers?: JSX.Element | undefined;
    SendBoxAttachFile?: JSX.Element | undefined;
    ChatMessageOptions: React_2.JSX.Element;
    ErrorBarCallVideoRecoveredBySystem: React_2.JSX.Element;
    ErrorBarCallVideoStoppedBySystem: React_2.JSX.Element;
    MessageResend: React_2.JSX.Element;
    VideoTilePinned: React_2.JSX.Element;
    VideoTileMoreOptions: React_2.JSX.Element;
    VideoTileScaleFit: React_2.JSX.Element;
    VideoTileScaleFill: React_2.JSX.Element;
    PinParticipant: React_2.JSX.Element;
    UnpinParticipant: React_2.JSX.Element;
    SplitButtonPrimaryActionCameraOn: React_2.JSX.Element;
    SplitButtonPrimaryActionCameraOff: React_2.JSX.Element;
    SplitButtonPrimaryActionMicUnmuted: React_2.JSX.Element;
    SplitButtonPrimaryActionMicMuted: React_2.JSX.Element;
    VerticalGalleryLeftButton: React_2.JSX.Element;
    VerticalGalleryRightButton: React_2.JSX.Element;
    ControlButtonVideoEffectsOption: React_2.JSX.Element;
    ConfigurationScreenVideoEffectsButton: React_2.JSX.Element;
    CaptionsIcon: React_2.JSX.Element;
    CaptionsOffIcon: React_2.JSX.Element;
    CaptionsSettingsIcon: React_2.JSX.Element;
    ChangeSpokenLanguageIcon: React_2.JSX.Element;
    ChangeCaptionLanguageIcon: React_2.JSX.Element;
    ContextMenuCameraIcon: React_2.JSX.Element;
    ContextMenuMicIcon: React_2.JSX.Element;
    ContextMenuSpeakerIcon: React_2.JSX.Element;
};

// @public
export type DiagnosticChangedEventListner = (event: MediaDiagnosticChangedEvent | NetworkDiagnosticChangedEvent) => void;

// @public
export type DisplayNameChangedListener = (event: {
    participantId: CommunicationIdentifierKind;
    displayName: string;
}) => void;

// @public
interface Disposable_2 {
    dispose(): void;
}
export { Disposable_2 as Disposable }

// @internal
export type _FakeChatAdapterArgs = {
    localParticipant: ChatParticipant;
    remoteParticipants: ChatParticipant[];
    topic?: string;
    localParticipantPosition?: number;
    fileSharingEnabled?: boolean;
    fileUploads?: _MockFileUpload[];
    failFileDownload?: boolean;
    sendRemoteFileSharingMessage?: boolean;
    sendRemoteInlineImageMessage?: boolean;
    inlineImageUrl?: string;
    frenchLocaleEnabled?: boolean;
    showParticipantPane?: boolean;
    participantsWithHiddenComposites?: ChatParticipant[];
    customDataModelEnabled?: boolean;
    chatThreadClientMethodErrors?: Partial<Record<keyof ChatThreadClient, _ChatThreadRestError>>;
    theme?: 'light' | 'dark';
};

// @internal
export interface _FakeChatAdapters {
    // (undocumented)
    local: ChatAdapter;
    // (undocumented)
    remotes: ChatAdapter[];
    // (undocumented)
    service: {
        model: Model;
        threadId: string;
    };
}

// @public
export type IsCaptionLanguageChangedListener = (event: {
    activeCaptionLanguage: string;
}) => void;

// @public
export type IsCaptionsActiveChangedListener = (event: {
    isActive: boolean;
}) => void;

// @public
export type IsLocalScreenSharingActiveChangedListener = (event: {
    isScreenSharingOn: boolean;
}) => void;

// @public
export type IsMutedChangedListener = (event: {
    identifier: CommunicationIdentifierKind;
    isMuted: boolean;
}) => void;

// @public
export type IsSpeakingChangedListener = (event: {
    identifier: CommunicationIdentifierKind;
    isSpeaking: boolean;
}) => void;

// @public
export type IsSpokenLanguageChangedListener = (event: {
    activeSpokenLanguage: string;
}) => void;

// @public
export interface JoinCallOptions {
    cameraOn?: boolean | 'keep';
    microphoneOn?: boolean | 'keep';
}

// @public
export type MediaDiagnosticChangedEvent = MediaDiagnosticChangedEventArgs & {
    type: 'media';
};

// @public
export type MessageReadListener = (event: {
    message: ChatMessage;
    readBy: CommunicationUserKind;
}) => void;

// @public
export type MessageReceivedListener = (event: {
    message: ChatMessage;
}) => void;

// @public
export type MessageSentListener = MessageReceivedListener;

// @internal
export class _MockCallAdapter implements CallAdapter {
    constructor(testState: {
        askDevicePermission?: (constrain: PermissionConstraints) => Promise<void>;
        localParticipantRole?: ParticipantRole;
    });
    // (undocumented)
    addParticipant(): Promise<void>;
    // (undocumented)
    allowUnsupportedBrowserVersion(): void;
    // (undocumented)
    askDevicePermission(constrain: PermissionConstraints): Promise<void>;
    // (undocumented)
    createStreamView(): Promise<void>;
    // (undocumented)
    dispose(): void;
    // (undocumented)
    disposeLocalVideoStreamView(): Promise<void>;
    // (undocumented)
    disposeRemoteVideoStreamView(): Promise<void>;
    // (undocumented)
    disposeScreenShareStreamView(): Promise<void>;
    // (undocumented)
    disposeStreamView(): Promise<void>;
    // (undocumented)
    getState(): CallAdapterState;
    // (undocumented)
    holdCall(): Promise<void>;
    // (undocumented)
    joinCall(): Call | undefined;
    // (undocumented)
    leaveCall(): Promise<void>;
    // (undocumented)
    lowerHand(): Promise<void>;
    // (undocumented)
    mute(): Promise<void>;
    // (undocumented)
    off(): void;
    // (undocumented)
    offStateChange(handler: (state: CallAdapterState) => void): void;
    // (undocumented)
    on(): void;
    // (undocumented)
    onStateChange(handler: (state: CallAdapterState) => void): void;
    // (undocumented)
    queryCameras(): Promise<VideoDeviceInfo[]>;
    // (undocumented)
    queryMicrophones(): Promise<AudioDeviceInfo[]>;
    // (undocumented)
    querySpeakers(): Promise<AudioDeviceInfo[]>;
    // (undocumented)
    raiseHand(): Promise<void>;
    // (undocumented)
    removeParticipant(): Promise<void>;
    // (undocumented)
    resumeCall(): Promise<void>;
    // (undocumented)
    sendDtmfTone(dtmfTone: DtmfTone): Promise<void>;
    // (undocumented)
    setCamera(): Promise<void>;
    // (undocumented)
    setCaptionLanguage(): Promise<void>;
    // (undocumented)
    setMicrophone(): Promise<void>;
    // (undocumented)
    setSpeaker(): Promise<void>;
    // (undocumented)
    setSpokenLanguage(): Promise<void>;
    // (undocumented)
    setState(state: CallAdapterState): void;
    // (undocumented)
    startCall(): Call | undefined;
    // (undocumented)
    startCamera(): Promise<void>;
    // (undocumented)
    startCaptions(): Promise<void>;
    // (undocumented)
    startScreenShare(): Promise<void>;
    // (undocumented)
    startVideoBackgroundEffect(): Promise<void>;
    // (undocumented)
    state: CallAdapterState;
    // (undocumented)
    stopCamera(): Promise<void>;
    // (undocumented)
    stopCaptions(): Promise<void>;
    // (undocumented)
    stopScreenShare(): Promise<void>;
    // (undocumented)
    stopVideoBackgroundEffects(): Promise<void>;
    // (undocumented)
    unmute(): Promise<void>;
    // (undocumented)
    updateBackgroundPickerImages(): void;
    // (undocumented)
    updateSelectedVideoBackgroundEffect(): void;
}

// @internal
export type _MockFileUpload = FileMetadata & {
    uploadComplete?: boolean;
    error?: string;
    progress?: number;
    attachmentType: string;
};

// @public
export type NetworkDiagnosticChangedEvent = NetworkDiagnosticChangedEventArgs & {
    type: 'network';
};

// @public
export const onResolveVideoEffectDependency: () => Promise<VideoBackgroundEffectsDependency>;

// @public
export const onResolveVideoEffectDependencyLazy: () => Promise<VideoBackgroundEffectsDependency>;

// @public
export type ParticipantsAddedListener = (event: {
    participantsAdded: ChatParticipant[];
    addedBy: ChatParticipant;
}) => void;

// @public
export type ParticipantsJoinedListener = (event: {
    joined: RemoteParticipant[];
}) => void;

// @public
export type ParticipantsLeftListener = (event: {
    removed: RemoteParticipant[];
}) => void;

// @public
export type ParticipantsRemovedListener = (event: {
    participantsRemoved: ChatParticipant[];
    removedBy: ChatParticipant;
}) => void;

// @public
export interface RemoteVideoTileMenuOptions {
    isHidden?: boolean;
}

// @public
export type TeamsAdapterOptions = CommonCallAdapterOptions;

// @public
export type TopicChangedListener = (event: {
    topic: string;
}) => void;

// @public
export const useAzureCommunicationCallAdapter: (args: Partial<AzureCommunicationCallAdapterArgs>, afterCreate?: ((adapter: CallAdapter) => Promise<CallAdapter>) | undefined, beforeDispose?: ((adapter: CallAdapter) => Promise<void>) | undefined) => CallAdapter | undefined;

// @public
export const useAzureCommunicationCallWithChatAdapter: (args: Partial<AzureCommunicationCallWithChatAdapterArgs>, afterCreate?: ((adapter: CallWithChatAdapter) => Promise<CallWithChatAdapter>) | undefined, beforeDispose?: ((adapter: CallWithChatAdapter) => Promise<void>) | undefined) => CallWithChatAdapter | undefined;

// @public
export const useAzureCommunicationChatAdapter: (args: Partial<AzureCommunicationChatAdapterArgs>, afterCreate?: ((adapter: ChatAdapter) => Promise<ChatAdapter>) | undefined, beforeDispose?: ((adapter: ChatAdapter) => Promise<void>) | undefined) => ChatAdapter | undefined;

// @internal
export const _useCompositeLocale: () => CompositeLocale;

// @internal
export function _useFakeChatAdapters(args: _FakeChatAdapterArgs): _FakeChatAdapters | undefined;

// @public
export interface VideoBackgroundBlurEffect extends BackgroundBlurConfig {
    effectName: 'blur';
}

// @public
export type VideoBackgroundEffect = VideoBackgroundNoEffect | VideoBackgroundBlurEffect | VideoBackgroundReplacementEffect;

// @public
export interface VideoBackgroundImage {
    key: string;
    tooltipText?: string;
    url: string;
}

// @public
export interface VideoBackgroundNoEffect {
    effectName: 'none';
}

// @public
export interface VideoBackgroundReplacementEffect extends BackgroundReplacementConfig {
    effectName: 'replacement';
    key?: string;
}

// (No @packageDocumentation comment for this package)