communication-react-19
Version:
React library for building modern communication user experiences utilizing Azure Communication Services (React 19 compatible fork)
112 lines • 4.78 kB
TypeScript
import { CommunicationIdentifierKind } from '@azure/communication-common';
import { CallState, DeviceManagerState } from "../../../../../calling-stateful-client/src";
import { ChatThreadClientState } from "../../../../../chat-stateful-client/src";
import { CallAdapter, CallAdapterState, CallCompositePage } from '../../CallComposite';
import { VideoBackgroundImage, VideoBackgroundEffect } from '../../CallComposite';
import { DeepNoiseSuppressionEffectDependency, VideoBackgroundEffectsDependency } from "../../../../../calling-component-bindings/src";
import { ChatAdapterState } from '../../ChatComposite';
import { AdapterErrors } from '../../common/adapters';
import { AdapterNotifications } from '../../common/adapters';
import { EnvironmentInfo } from '@azure/communication-calling';
import { ReactionResources } from "../../../../../react-components/src";
/**
* UI state pertaining to the {@link CallWithChatComposite}.
*
* @public
*/
export interface CallWithChatAdapterUiState {
/**
* Microphone state before a call has joined.
*
* @public
*/
isLocalPreviewMicrophoneEnabled: boolean;
/**
* Current page of the Composite.
*
* @public
*/
page: CallCompositePage;
/**
* State to track whether the end user has opted in to using a
* out of date version of a supported browser. Allows the user
* to start a call in this state.
*
* @beta
*/
unsupportedBrowserVersionsAllowed?: boolean;
}
/**
* State from the backend services that drives {@link CallWithChatComposite}.
*
* @public
*/
export interface CallWithChatClientState {
/** ID of the call participant using this CallWithChatAdapter. */
userId: CommunicationIdentifierKind;
/** Display name of the participant using this CallWithChatAdapter. */
displayName: string | undefined;
/** State of the current call. */
call?: CallState;
/** State of the current chat. */
chat?: ChatThreadClientState;
/** Latest call error encountered for each operation performed via the adapter. */
latestCallErrors: AdapterErrors;
/** Latest call notifications encountered in the call client state via the adapter. */
latestCallNotifications: AdapterNotifications;
/** Latest chat error encountered for each operation performed via the adapter. */
latestChatErrors: AdapterErrors;
/** State of available and currently selected devices */
devices: DeviceManagerState;
/** State of whether the active call is a Teams interop call */
isTeamsCall: boolean;
/** State of whether the active call is a Teams interop meeting */
isTeamsMeeting: boolean;
/** alternateCallerId for PSTN call */
alternateCallerId?: string;
/** Environment information for system adapter is made on */
environmentInfo?: EnvironmentInfo;
/** Default set of background images for background replacement effect */
videoBackgroundImages?: VideoBackgroundImage[];
/** Dependency to be injected for video background effects */
onResolveVideoEffectDependency?: () => Promise<VideoBackgroundEffectsDependency>;
/**
* Dependency to be injected for deep noise suppression effect.
*/
onResolveDeepNoiseSuppressionDependency?: () => Promise<DeepNoiseSuppressionEffectDependency>;
/** State to track whether the noise suppression should be on by default.
*/
deepNoiseSuppressionOnByDefault?: boolean;
/** State to track whether to hide the noise suppression button.
*/
hideDeepNoiseSuppressionButton?: boolean;
/** State to track the selected video background effect */
selectedVideoBackgroundEffect?: VideoBackgroundEffect;
/** Hide attendee names in teams meeting */
hideAttendeeNames?: boolean;
/**
* Reaction resources to render in meetings
* */
reactions?: ReactionResources;
}
/**
* CallWithChat State is a combination of Stateful Chat and Stateful Calling clients with some
* state specific to the CallWithChat Composite only.
*
* @public
*/
export interface CallWithChatAdapterState extends CallWithChatAdapterUiState, CallWithChatClientState {
}
/**
* @private
*/
export declare function callWithChatAdapterStateFromBackingStates(callAdapter: CallAdapter): CallWithChatAdapterState;
/**
* @private
*/
export declare function mergeChatAdapterStateIntoCallWithChatAdapterState(existingCallWithChatAdapterState: CallWithChatAdapterState, chatAdapterState: ChatAdapterState): CallWithChatAdapterState;
/**
* @private
*/
export declare function mergeCallAdapterStateIntoCallWithChatAdapterState(existingCallWithChatAdapterState: CallWithChatAdapterState, callAdapterState: CallAdapterState): CallWithChatAdapterState;
//# sourceMappingURL=CallWithChatAdapterState.d.ts.map