import React from 'react'; import { WelcomePageOptions } from '../../components/miscComponents/WelcomePage'; import { SeedData, PreJoinPageOptions, CreateMediaSFURoomOptions, JoinMediaSFURoomOptions, JoinRoomOnMediaSFUType, CreateRoomOnMediaSFUType, CustomVideoCardType, CustomAudioCardType, CustomMiniCardType } from '../../@types/types'; export type MediasfuBroadcastOptions = { PrejoinPage?: (options: PreJoinPageOptions | WelcomePageOptions) => React.ReactNode; localLink?: string; connectMediaSFU?: boolean; credentials?: { apiUserName: string; apiKey: string; }; useLocalUIMode?: boolean; seedData?: SeedData; useSeed?: boolean; imgSrc?: string; sourceParameters?: { [key: string]: any; }; updateSourceParameters?: (data: { [key: string]: any; }) => void; returnUI?: boolean; noUIPreJoinOptions?: CreateMediaSFURoomOptions | JoinMediaSFURoomOptions; joinMediaSFURoom?: JoinRoomOnMediaSFUType; createMediaSFURoom?: CreateRoomOnMediaSFUType; customVideoCard?: CustomVideoCardType; customAudioCard?: CustomAudioCardType; customMiniCard?: CustomMiniCardType; customComponent?: React.FC<{ parameters: any; }>; containerStyle?: object; uiOverrides?: import('../../@types/types').MediasfuUICustomOverrides; }; /** * MediasfuBroadcast component provides a one-to-many streaming solution where only the host * can broadcast audio/video to a large audience. Ideal for live streams, announcements, and * one-way presentations. * * ### Key Features * - **One-to-Many**: Only host can share audio/video (no screen share) * - **Full Screen Host**: Host takes 100% of screen real estate * - **View-Only Audience**: Participants can watch and chat but not broadcast * - **High Scalability**: Optimized for large viewer counts * - **Chat & Polls**: Audience engagement through text chat and polls * - **Recording**: Capture broadcast for replay * - **Custom Branding**: Override UI components and host card * * ### Layout Characteristics * - Host video: 100% fullscreen * - No participant grid (view-only mode) * - Chat overlay optional * - No screen sharing support * * ### Event Type * Automatically sets `eventType: 'broadcast'` for one-to-many streaming mode. * * ### Use Cases * - Live announcements * - Concert/performance streaming * - Company-wide broadcasts * - Educational lectures (one-way) * * @component * @param {MediasfuBroadcastOptions} props - Component properties * @returns {React.ReactNode} MediaSFU Broadcast component * * @example * ```tsx * // Basic live broadcast * import { MediasfuBroadcast } from 'mediasfu-reactnative'; * * function App() { * return ( * * ); * } * ``` * * @example * ```tsx * // Branded broadcast with custom host card * import { MediasfuBroadcast } from 'mediasfu-reactnative'; * import { BroadcastHostCard } from './BroadcastHostCard'; * * function App() { * return ( * ( * * )} * imgSrc="https://example.com/broadcast-logo.png" * containerStyle={{ * backgroundColor: '#000' * }} * /> * ); * } * ``` * * @example * ```tsx * // Broadcast with custom controls and chat overlay * import { MediasfuBroadcast } from 'mediasfu-reactnative'; * import { BroadcastControls } from './BroadcastControls'; * import { ChatOverlay } from './ChatOverlay'; * * function App() { * return ( * * ); * } * ``` */ declare const MediasfuBroadcast: React.FC; export default MediasfuBroadcast;