UNPKG

@azure/communication-react

Version:

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

136 lines • 6.55 kB
import { AddPhoneNumberOptions, AudioDeviceInfo, AudioEffectsStartConfig, BackgroundBlurConfig, BackgroundBlurEffect, BackgroundReplacementConfig, BackgroundReplacementEffect, Call, CallSurvey, CallSurveyResponse, DtmfTone, LocalVideoStream, StartCallOptions, TeamsCall, VideoDeviceInfo } from '@azure/communication-calling'; import { StatefulCallClient, StatefulDeviceManager } from "../../../calling-stateful-client/src"; import { CreateVideoStreamViewResult, VideoStreamOptions, CaptionsOptions } from "../../../react-components/src"; import { CommunicationUserIdentifier, PhoneNumberIdentifier } from '@azure/communication-common'; import { CommunicationIdentifier } from '@azure/communication-common'; import { Reaction } from '@azure/communication-calling'; import { _ComponentCallingHandlers } from './createHandlers'; /** * Object containing all the handlers required for calling components. * * Calling related components from this package are able to pick out relevant handlers from this object. * See {@link useHandlers} and {@link usePropsFor}. * * @public */ export interface CommonCallingHandlers { onStartLocalVideo: () => Promise<void>; onToggleCamera: (options?: VideoStreamOptions) => Promise<void>; onSelectMicrophone: (device: AudioDeviceInfo) => Promise<void>; onSelectSpeaker: (device: AudioDeviceInfo) => Promise<void>; onSelectCamera: (device: VideoDeviceInfo, options?: VideoStreamOptions) => Promise<void>; onToggleMicrophone: () => Promise<void>; onStartScreenShare: () => Promise<void>; onStopScreenShare: () => Promise<void>; onToggleScreenShare: () => Promise<void>; onHangUp: (forEveryone?: boolean) => Promise<void>; onRaiseHand: () => Promise<void>; onLowerHand: () => Promise<void>; onToggleRaiseHand: () => Promise<void>; onReactionClick: (reaction: Reaction) => Promise<void>; onToggleHold: () => Promise<void>; onAddParticipant(participant: CommunicationUserIdentifier): Promise<void>; onAddParticipant(participant: PhoneNumberIdentifier, options: AddPhoneNumberOptions): Promise<void>; onCreateLocalStreamView: (options?: VideoStreamOptions) => Promise<void | CreateVideoStreamViewResult>; onCreateRemoteStreamView: (userId: string, options?: VideoStreamOptions) => Promise<void | CreateVideoStreamViewResult>; /** * @deprecated use {@link onDisposeRemoteVideoStreamView} and {@link onDisposeRemoteScreenShareStreamView} instead. */ onDisposeRemoteStreamView: (userId: string) => Promise<void>; onDisposeLocalStreamView: () => Promise<void>; onDisposeRemoteVideoStreamView: (userId: string) => Promise<void>; onDisposeRemoteScreenShareStreamView: (userId: string) => Promise<void>; onDisposeLocalScreenShareStreamView: () => Promise<void>; onSendDtmfTone: (dtmfTone: DtmfTone) => Promise<void>; onRemoveParticipant(userId: string): Promise<void>; onRemoveParticipant(participant: CommunicationIdentifier): Promise<void>; onStartCall: (participants: CommunicationIdentifier[], options?: StartCallOptions) => void; onAcceptCall: (incomingCallId: string, useVideo?: boolean) => Promise<void>; onRejectCall: (incomingCallId: string) => Promise<void>; onRemoveVideoBackgroundEffects: () => Promise<void>; onBlurVideoBackground: (backgroundBlurConfig?: BackgroundBlurConfig) => Promise<void>; onReplaceVideoBackground: (backgroundReplacementConfig: BackgroundReplacementConfig) => Promise<void>; onStartNoiseSuppressionEffect: () => Promise<void>; onStopNoiseSuppressionEffect: () => Promise<void>; onStartCaptions: (options?: CaptionsOptions) => Promise<void>; onStopCaptions: () => Promise<void>; onSetSpokenLanguage: (language: string) => Promise<void>; onSetCaptionLanguage: (language: string) => Promise<void>; onSubmitSurvey(survey: CallSurvey): Promise<CallSurveyResponse | undefined>; onStartSpotlight: (userIds?: string[]) => Promise<void>; onStopSpotlight: (userIds?: string[]) => Promise<void>; onStopAllSpotlight: () => Promise<void>; onMuteParticipant: (userId: string) => Promise<void>; onMuteAllRemoteParticipants: () => Promise<void>; /** * Forbid remote participants from sending audio * */ onForbidAudio?: (userIds: string[]) => Promise<void>; /** * Permit remote participants to send audio * */ onPermitAudio?: (userIds: string[]) => Promise<void>; /** * Change meeting option forbid remote participants from sending audio * */ onForbidOthersAudio?: () => Promise<void>; /** * Change meeting option permit remote participants to send audio * */ onPermitOthersAudio?: () => Promise<void>; /** * Forbid remote participants from sending video * */ onForbidVideo?: (userIds: string[]) => Promise<void>; /** * Permit remote participants to send video * */ onPermitVideo?: (userIds: string[]) => Promise<void>; /** * Change meeting option forbid remote participants from sending video * */ onForbidOthersVideo?: () => Promise<void>; /** * Change meeting option permit remote participants to send video * */ onPermitOthersVideo?: () => Promise<void>; } /** * @private */ export declare const areStreamsEqual: (prevStream: LocalVideoStream, newStream: LocalVideoStream) => boolean; /** * Dependency type to be injected for video background effects * * @public */ export type VideoBackgroundEffectsDependency = { createBackgroundBlurEffect: (config?: BackgroundBlurConfig) => BackgroundBlurEffect; createBackgroundReplacementEffect: (config: BackgroundReplacementConfig) => BackgroundReplacementEffect; }; /** * Dependency type to be injected for deep noise suppression * * @public */ export type DeepNoiseSuppressionEffectDependency = { deepNoiseSuppressionEffect: AudioEffectsStartConfig; }; /** * Create the common implementation of {@link CallingHandlers} for all types of Call * * @private */ export declare const createDefaultCommonCallingHandlers: (callClient: StatefulCallClient, deviceManager: StatefulDeviceManager | undefined, call: Call | TeamsCall | undefined, options?: { onResolveVideoBackgroundEffectsDependency?: () => Promise<VideoBackgroundEffectsDependency>; onResolveDeepNoiseSuppressionDependency?: () => Promise<DeepNoiseSuppressionEffectDependency>; }) => CommonCallingHandlers & Partial<_ComponentCallingHandlers>; //# sourceMappingURL=createCommonHandlers.d.ts.map