communication-react-19
Version:
React library for building modern communication user experiences utilizing Azure Communication Services (React 19 compatible fork)
51 lines • 2.47 kB
TypeScript
import React from 'react';
import { CreateVideoStreamViewResult, OnRenderAvatarCallback, ParticipantState, VideoGalleryRemoteParticipant, VideoStreamOptions, ViewScalingMode } from '../types';
import { VideoGalleryStrings } from './VideoGallery';
import { ReactionResources } from '../types/ReactionTypes';
/**
* A memoized version of VideoTile for rendering remote participants. React.memo is used for a performance
* boost by memoizing the same rendered component to avoid rerendering a VideoTile when its position in the
* array changes causing a rerender in the parent component. https://reactjs.org/docs/react-api.html#reactmemo
*
* @internal
*/
export declare const _RemoteVideoTile: React.MemoExoticComponent<(props: {
userId: string;
remoteParticipant: VideoGalleryRemoteParticipant;
onCreateRemoteStreamView?: (userId: string, options?: VideoStreamOptions) => Promise<void | CreateVideoStreamViewResult>;
onDisposeRemoteStreamView?: (userId: string) => Promise<void>;
isAvailable?: boolean;
isReceiving?: boolean;
streamId?: number;
isScreenSharingOn?: boolean;
renderElement?: HTMLElement;
remoteVideoViewOptions?: VideoStreamOptions;
onRenderAvatar?: OnRenderAvatarCallback;
showMuteIndicator?: boolean;
showLabel?: boolean;
alwaysShowLabelBackground?: boolean;
personaMinSize?: number;
strings: VideoGalleryStrings;
participantState?: ParticipantState;
menuKind?: 'contextual' | 'drawer';
drawerMenuHostId?: string;
onPinParticipant?: (userId: string) => void;
onUnpinParticipant?: (userId: string) => void;
onUpdateScalingMode?: (userId: string, scalingMode: ViewScalingMode) => void;
isPinned?: boolean;
spotlightedParticipantUserIds?: string[];
isSpotlighted?: boolean;
onStartSpotlight?: (userIds: string[]) => void;
onStopSpotlight?: (userIds: string[]) => void;
maxParticipantsToSpotlight?: number;
onMuteParticipant?: (userId: string) => void;
disablePinMenuItem?: boolean;
toggleAnnouncerString?: (announcerString: string) => void;
reactionResources?: ReactionResources;
onLongTouch?: (() => void) | undefined;
onForbidAudio?: (userIds: string[]) => Promise<void>;
onPermitAudio?: (userIds: string[]) => Promise<void>;
onForbidVideo?: (userIds: string[]) => Promise<void>;
onPermitVideo?: (userIds: string[]) => Promise<void>;
}) => React.JSX.Element>;
//# sourceMappingURL=RemoteVideoTile.d.ts.map