import React from 'react'; import { StyleProp, ViewStyle } from 'react-native'; import { Socket } from 'socket.io-client'; /** * Configuration options for the `ConfirmHereModal` component. * * @interface ConfirmHereModalOptions * * **Modal Control:** * @property {boolean} isConfirmHereModalVisible Controls the visibility state. * @property {() => void} onConfirmHereClose Invoked when the user confirms or the modal times out. * * **Countdown Behaviour:** * @property {number} [countdownDuration=120] Seconds before the user is automatically disconnected. * @property {Socket} socket Primary socket used to emit `disconnectUser` events. * @property {Socket} [localSocket] Optional secondary socket mirror for local transports. * @property {string} roomName Active room identifier attached to disconnect events. * @property {string} member Member identifier associated with the confirmation prompt. * * **Appearance:** * @property {string} [backgroundColor='#83c0e9'] Modal card background color. * @property {StyleProp} [style] Additional container styling. * * **Advanced Render Overrides:** * @property {(options: { defaultContent: JSX.Element; dimensions: { width: number; height: number } }) => JSX.Element} [renderContent] * Custom renderer for the modal body. * @property {(options: { defaultContainer: JSX.Element; dimensions: { width: number; height: number } }) => JSX.Element} [renderContainer] * Custom renderer for the modal container implementation. */ export interface ConfirmHereModalOptions { isConfirmHereModalVisible: boolean; onConfirmHereClose: () => void; backgroundColor?: string; countdownDuration?: number; socket: Socket; localSocket?: Socket; roomName: string; member: string; style?: StyleProp; renderContent?: (options: { defaultContent: JSX.Element; dimensions: { width: number; height: number; }; }) => JSX.Element; renderContainer?: (options: { defaultContainer: JSX.Element; dimensions: { width: number; height: number; }; }) => JSX.Element; } export type ConfirmHereModalType = (options: ConfirmHereModalOptions) => JSX.Element; declare const ConfirmHereModal: React.FC; export default ConfirmHereModal;