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 MediasfuChatOptions = { 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; }; /** * MediasfuChat component provides a simple two-person video chat experience optimized for * one-on-one conversations with side-by-side video layout. * * ### Key Features * - **Two-Person Limit**: Maximum 2 participants with audio/video * - **Side-by-Side Layout**: Equal split-screen view for both participants * - **Text Chat**: Real-time messaging alongside video * - **No Screen Share**: Focused on face-to-face conversation * - **Recording**: Capture chat sessions * - **Simple Controls**: Minimal UI for quick start * - **Custom Cards**: Override video card appearance * * ### Layout Characteristics * - 50/50 split screen for 2 participants * - No grid pagination (max 2 people) * - Chat overlay available * - No screen sharing support * * ### Event Type * Automatically sets `eventType: 'chat'` for two-person video chat mode. * * ### Use Cases * - One-on-one consultations * - Customer support video calls * - Personal video chats * - Quick meetings between 2 people * * @component * @param {MediasfuChatOptions} props - Component properties * @returns {JSX.Element} MediaSFU Chat component * * @example * ```tsx * // Basic two-person video chat * import { MediasfuChat } from 'mediasfu-reactnative'; * * function App() { * return ( * * ); * } * ``` * * @example * ```tsx * // Chat with custom video cards and branding * import { MediasfuChat } from 'mediasfu-reactnative'; * import { ChatVideoCard } from './ChatVideoCard'; * * function App() { * return ( * ( * * )} * imgSrc="https://example.com/chat-icon.png" * containerStyle={{ * backgroundColor: '#f5f5f5' * }} * /> * ); * } * ``` * * @example * ```tsx * // Chat with custom prejoin and UI overrides * import { MediasfuChat } from 'mediasfu-reactnative'; * import { SimplePrejoin } from './SimplePrejoin'; * import { MinimalControls } from './MinimalControls'; * * function App() { * return ( * * ); * } * ``` */ declare const MediasfuChat: React.FC; export default MediasfuChat;