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 MediasfuWebinarOptions = { 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; }; /** * MediasfuWebinar component provides a presenter-focused layout optimized for webinars and * large audience events with a prominent host/presenter view and compact participant sidebar. * * ### Key Features * - **Presenter Focus**: Large main stage (67% screen) dedicated to host/presenter * - **Audience Sidebar**: Compact participant grid for attendees * - **Interactive Q&A**: Polls, chat, hand-raising, requests to speak * - **Screen Sharing**: Present slides or applications to audience * - **Recording**: Capture webinar with host-focused layout * - **Waiting Room**: Control participant admission * - **Customizable Branding**: Custom cards and UI components * * ### Layout Characteristics * - Main stage: 67% of screen width for host/presenter * - Sidebar: 33% for participant thumbnails * - Screen share replaces main stage when active * - Host video prioritized in main view * * ### Event Type * Automatically sets `eventType: 'webinar'` for presenter-focused mode. * * @component * @param {MediasfuWebinarOptions} props - Component properties * @returns {React.FC} MediaSFU Webinar component * * @example * ```tsx * // Basic webinar with MediaSFU Cloud * import { MediasfuWebinar } from 'mediasfu-reactnative'; * * function App() { * return ( * * ); * } * ``` * * @example * ```tsx * // Webinar with custom branding and prejoin * import { MediasfuWebinar } from 'mediasfu-reactnative'; * import { BrandedPrejoin } from './BrandedPrejoin'; * * function App() { * return ( * * ); * } * ``` * * @example * ```tsx * // Webinar with custom presenter card and controls * import { MediasfuWebinar } from 'mediasfu-reactnative'; * import { PresenterVideoCard } from './PresenterVideoCard'; * import { WebinarControls } from './WebinarControls'; * * function App() { * return ( * ( * * )} * uiOverrides={{ * controlButtons: WebinarControls, * mainScreen: CustomMainScreen * }} * /> * ); * } * ``` */ declare const MediasfuWebinar: React.FC; export default MediasfuWebinar;