import React from 'react'; import './index.css'; import { VideoProps, VideoClasses } from '../Video/Video'; import { HMSPeer } from '../../store/schema'; export interface VideoTileProps extends Omit { /** * HMS Peer object for which the tile is shown. */ peer: HMSPeer; /** * If showScreen is true, user's screenshare will be shown instead of camera */ showScreen?: boolean; /** * Indicates if the stream's audio is muted or not. Ignored if showAudioMuteStatus is false. */ isAudioMuted?: boolean; /** * Indicates if the stream's video is muted or not. Ignored if showVideoMuteStatus is false. */ isVideoMuted?: boolean; /** * Indicates whether to show the stream's audio mute status. Needs isAudioMuted value to display the status. */ showAudioMuteStatus?: boolean; /** * Aspect ratio of the video container(if objectFit is set to 'cover'). * If aspectRatio is defined, the video container expands to fit the largest rectangle maintaining the aspec ratio. * If aspectRatio is not defined, the video container takes the parent's width and height. * Ignored when displayShape is 'circle' or objectFit is 'contain'. */ aspectRatio?: { width: number; height: number; }; /** * Indicates whether to show controls for remote muting/unmuting other participants. */ allowRemoteMute?: boolean; /** * Custom controls component to display label, audio mute status, audio level, remote mute control. * Default is VideoTileControls. */ controlsComponent?: React.ReactNode; /** * extra classes added by user */ classes?: VideoTileClasses; avatarType?: 'initial' | 'pebble'; /** * Boolean variable to specify if videoTile is small or not */ compact?: boolean; } export interface VideoTileClasses extends VideoClasses { /** * The top-level container. */ root?: string; /** * The video container. */ videoContainer?: string; /** * The avatar container. */ avatarContainer?: string; /** * Classes added to Avatar container if its a circle */ avatarContainerCircle?: string; /** * Classes added to Video container if its a circle */ videoContainerCircle?: string; } export declare const VideoTile: ({ videoTrack, peer, hmsVideoTrack, showScreen, audioLevel, isAudioMuted, isVideoMuted, showAudioMuteStatus, showAudioLevel, objectFit, aspectRatio, displayShape, audioLevelDisplayType, audioLevelDisplayColor, allowRemoteMute, controlsComponent, classes, avatarType, compact, }: VideoTileProps) => JSX.Element;