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 MediasfuConferenceOptions = { 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; }; /** * MediasfuConference component provides a full-featured video conferencing solution optimized for * collaborative meetings with equal-sized participant tiles and interactive features. * * ### Key Features * - **Balanced Grid Layout**: All participants displayed in equal-sized tiles * - **Interactive Collaboration**: Screen sharing, breakout rooms, polls, chat * - **Host Controls**: Waiting room, participant management, recording controls * - **Adaptive Quality**: Automatic video quality adjustment based on network * - **Cloud Recording**: Record entire conference with custom layouts * - **Customizable UI**: Override components and card renderers * * ### Layout Characteristics * - Equal participant grid (no dominant speaker view by default) * - Dynamic pagination for large meetings * - Side-by-side screen share view * - Optional mini audio indicators * * ### Event Type * Automatically sets `eventType: 'conference'` for balanced collaboration mode. * * @component * @param {MediasfuConferenceOptions} props - Component properties * @returns {React.FC} MediaSFU Conference component * * @example * ```tsx * // Basic conference with MediaSFU Cloud * import { MediasfuConference } from 'mediasfu-reactnative'; * * function App() { * return ( * * ); * } * ``` * * @example * ```tsx * // Conference with custom prejoin and waiting room * import { MediasfuConference } from 'mediasfu-reactnative'; * import { CustomPrejoin } from './CustomPrejoin'; * * function App() { * return ( * * ); * } * ``` * * @example * ```tsx * // Conference with custom video cards and UI overrides * import { MediasfuConference } from 'mediasfu-reactnative'; * import { BrandedVideoCard } from './BrandedVideoCard'; * import { CustomControlButtons } from './CustomControls'; * * function App() { * return ( * ( * * )} * uiOverrides={{ * controlButtons: CustomControlButtons, * mainGrid: CustomMainGrid * }} * containerStyle={{ * backgroundColor: '#1e1e1e' * }} * /> * ); * } * ``` */ declare const MediasfuConference: React.FC; export default MediasfuConference;