UNPKG

@azure/communication-react

Version:

React library for building modern communication user experiences utilizing Azure Communication Services

163 lines • 7.5 kB
/// <reference types="react" /> import { CallAdapterState, CallCompositePage, StartCallIdentifier } from '../adapter/CallAdapter'; import { CallControlOptions } from '../types/CallControlOptions'; import { CallState, RemoteParticipantState } from "../../../../../calling-stateful-client/src"; import { AdapterStateModifier, CallAdapterLocator } from '../adapter/AzureCommunicationCallAdapter'; import { VideoBackgroundEffectsDependency } from "../../../../../calling-component-bindings/src"; import { VideoBackgroundEffect } from '../adapter/CallAdapter'; import { EnvironmentInfo, VideoDeviceInfo } from '@azure/communication-calling'; import { VideoEffectProcessor } from '@azure/communication-calling'; import { CompositeLocale } from '../../localization'; import { CallCompositeIcons } from '../../common/icons'; import { ActiveNotification } from "../../../../../react-components/src"; /** @private */ export declare const ROOM_NOT_FOUND_SUB_CODE = 5732; /** @private */ export declare const ROOM_NOT_VALID_SUB_CODE = 5829; /** @private */ export declare const NOT_INVITED_TO_ROOM_SUB_CODE = 5828; /** @private */ export declare const INVITE_TO_ROOM_REMOVED_SUB_CODE = 5317; /** @private */ export declare const CALL_TIMEOUT_SUB_CODE = 10004; /** @private */ export declare const CALL_TIMEOUT_CODE = 487; /** @private */ export declare const BOT_TIMEOUT_CODE = 486; /** @private */ export declare const BOT_TIMEOUT_SUB_CODE = 10321; /** * @private */ export declare const isCameraOn: (state: CallAdapterState) => boolean; /** * Reduce the set of call controls visible on mobile. * For example do not show screenshare button. * * @private */ export declare const reduceCallControlsForMobile: (callControlOptions: CallControlOptions | boolean | undefined) => CallControlOptions | false; /** * Helper function for determine strings and icons for end call page * @private */ export declare const getEndedCallPageProps: (locale: CompositeLocale, endedCall?: CallState) => { title: string; moreDetails?: string; disableStartCallButton: boolean; iconName: keyof CallCompositeIcons; }; /** * type definition for conditional-compilation */ type GetCallCompositePageFunction = ((call: CallState | undefined, previousCall: CallState | undefined) => CallCompositePage) & ((call: CallState | undefined, previousCall: CallState | undefined, transferCall?: CallState, isReturningFromBreakoutRoom?: boolean) => CallCompositePage); /** * Get the current call composite page based on the current call composite state * * @param Call - The current call state * @param previousCall - The state of the most recent previous call that has ended. * * @remarks - The previousCall state is needed to determine if the call has ended. * When the call ends a new call object is created, and so we must lookback at the * previous call state to understand how the call has ended. If there is no previous * call we know that this is a fresh call and can display the configuration page. * * @private */ export declare const getCallCompositePage: GetCallCompositePageFunction; /** @private */ export declare const IsCallEndedPage: (page: CallCompositePage) => boolean; /** * Creates a new call control options object and sets the correct values for disabling * the buttons provided in the `disabledControls` array. * Returns a new object without changing the original object. * @param callControlOptions options for the call control component that need to be modified. * @param disabledControls An array of controls to disable. * @returns a copy of callControlOptions with disabledControls disabled * @private */ export declare const disableCallControls: (callControlOptions: CallControlOptions | boolean | undefined, disabledControls: (keyof CallControlOptions)[]) => CallControlOptions | boolean | undefined; /** * Check if a disabled object is provided for a button and returns if the button is disabled. * A button is only disabled if is explicitly set to disabled. * * @param option * @returns whether a button is disabled * @private */ export declare const isDisabled: (option: boolean | { disabled: boolean; } | undefined) => boolean; /** * Check if we are using safari browser * @private */ export declare const _isSafari: (environmentInfo: undefined | EnvironmentInfo) => boolean; /** * @private * This is the util function to create a participant modifier for remote participantList * It memoize previous original participant items and only update the changed participant * It takes in one modifier function to generate one single participant object, it returns undefined if the object keeps unmodified */ export declare const createParticipantModifier: (createModifiedParticipant: (id: string, participant: RemoteParticipantState) => RemoteParticipantState | undefined) => AdapterStateModifier; /** @private */ export declare const getBackgroundEffectFromSelectedEffect: (selectedEffect: VideoBackgroundEffect | undefined, VideoBackgroundEffectsDependency: VideoBackgroundEffectsDependency) => VideoEffectProcessor | undefined; /** * @remarks this logic should mimic the onToggleCamera in the common call handlers. * @private */ export declare const getSelectedCameraFromAdapterState: (state: CallAdapterState) => VideoDeviceInfo | undefined; /** * Helper to determine if the adapter has a locator or targetCallees * @param locatorOrTargetCallees * @returns boolean to determine if the adapter has a locator or targetCallees, true is locator, false is targetCallees * @private */ export declare const getLocatorOrTargetCallees: (locatorOrTargetCallees: CallAdapterLocator | StartCallIdentifier[]) => locatorOrTargetCallees is import("@azure/communication-common").CommunicationIdentifier[]; /** * @private */ export type ComplianceState = 'on' | 'off' | 'stopped'; /** * Return different conditions based on the current and previous state of recording and transcribing * * @param callRecordState - The current call record state: on, off, stopped * @param callTranscribeState - The current call transcribe state: on, off, stopped * * @remarks - The stopped state means: previously on but currently off * * @private */ export declare const computeVariant: (callRecordState: ComplianceState, callTranscribeState: ComplianceState) => ComplianceNotificationVariant; /** * @private */ export type ComplianceNotificationVariant = 'noState' | 'recordingStarted' | 'transcriptionStarted' | 'recordingStopped' | 'transcriptionStopped' | 'recordingAndTranscriptionStarted' | 'recordingAndTranscriptionStopped' | 'recordingStoppedStillTranscribing' | 'transcriptionStoppedStillRecording'; /** * @private */ export type CachedComplianceNotificationProps = { latestBooleanState: { callTranscribeState?: boolean; callRecordState?: boolean; }; latestStringState: { callTranscribeState: ComplianceState; callRecordState: ComplianceState; }; lastUpdated: number; }; /** * @private */ export declare function determineStates(previous: ComplianceState, current: boolean | undefined): ComplianceState; /** * Compute compliance notification based on latest compliance state and cached props. * @private */ export declare function computeComplianceNotification(complianceProps: { callTranscribeState: boolean; callRecordState: boolean; }, cachedProps: React.MutableRefObject<CachedComplianceNotificationProps>): ActiveNotification | undefined; export {}; //# sourceMappingURL=Utils.d.ts.map