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;