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