import React from 'react';
import { CreateVideoStreamViewResult, VideoStreamOptions } from '../../types';
import { ReactionResources, VideoGalleryLocalParticipant, VideoGalleryRemoteParticipant } from '../../types';
/**
 * A memoized version of VideoTile for rendering the remote screen share stream. React.memo is used for a performance
 * boost by memoizing the same rendered component to avoid rerendering this when the parent component rerenders.
 * https://reactjs.org/docs/react-api.html#reactmemo
 */
export declare const RemoteScreenShare: React.MemoExoticComponent<(props: {
    userId: string;
    displayName?: string;
    onCreateRemoteStreamView?: (userId: string, options?: VideoStreamOptions) => Promise<void | CreateVideoStreamViewResult>;
    onDisposeRemoteStreamView?: (userId: string) => Promise<void>;
    isAvailable?: boolean;
    isReceiving?: boolean;
    isMuted?: boolean;
    isSpeaking?: boolean;
    renderElement?: HTMLElement;
    participantVideoScalingMode?: VideoStreamOptions;
    reactionResources?: ReactionResources;
    localParticipant?: VideoGalleryLocalParticipant;
    remoteParticipants?: VideoGalleryRemoteParticipant[];
}) => React.JSX.Element>;
/**
 * LoadingSpinner component for displaying a loading spinner.
 *
 * @param {string} props.loadingMessage - The loading message to display.
 * @returns {JSX.Element} The JSX element representing the loading spinner.
 */
export declare const LoadingSpinner: (props: {
    loadingMessage: string;
}) => JSX.Element;
//# sourceMappingURL=RemoteScreenShare.d.ts.map