import { FC } from 'react'; import './index.css'; export interface User { userId: string; userName: string; avatar?: string; hasVideo: boolean; hasAudio: boolean; isHost: boolean; isMe?: boolean; isScreenSharing?: boolean; audioDeviceType: 'none' | 'computer-mic' | 'phone-mic'; videoDeviceType: 'none' | 'computer-cam'; userType: 'normal' | 'phone' | 'meeting-system'; hideAudioConnectIcon: boolean; volume?: number; userRole?: number; isSpotlight?: boolean; isBoardActive?: boolean; allowedOperations?: string[]; isPin?: boolean; isClientRecording?: boolean; hasClientRecordingPermission?: boolean; /** When true, the user is forbidden from chat (show "allow chat"); when false/undefined, show "forbid chat" */ isChatForbidden?: boolean; } export declare enum ParticipantActionType { MUTE_AUDIO = "MUTE_AUDIO", UNMUTE_AUDIO = "UNMUTE_AUDIO", MUTE_VIDEO = "MUTE_VIDEO", UNMUTE_VIDEO = "UNMUTE_VIDEO", PRIVATE_CHAT = "PRIVATE_CHAT", KICK_OUT = "KICK_OUT", FORBID_CHAT = "FORBID_CHAT", ALLOW_CHAT = "ALLOW_CHAT", ADD_PIN = "ADD_PIN", REMOVE_PIN = "REMOVE_PIN", SET_AS_HOST = "SET_AS_HOST", SET_AS_CO_HOST = "SET_AS_CO_HOST", SET_AS_ATTENDEE = "SET_AS_ATTENDEE", SET_AS_AUDIENCE = "SET_AS_AUDIENCE", RENAME = "RENAME", ALLOW_RECORDING_CLIENT_VIDEO = "ALLOW_RECORDING_CLIENT_VIDEO", DISALLOW_RECORDING_CLIENT_VIDEO = "DISALLOW_RECORDING_CLIENT_VIDEO", PUT_IN_WAITING_ROOM = "PUT_IN_WAITING_ROOM", STOP_RAISE_HAND = "STOP_RAISE_HAND", /** 主持人/联席对指定成员拒绝举手(放下手) */ HANDS_DOWN = "HANDS_DOWN", SET_MAIN_SPEAKER = "SET_MAIN_SPEAKER", MERGE_VIDEO = "MERGE_VIDEO", RENAME_IN_MEETING = "RENAME_IN_MEETING" } export declare const enum FcrUserRole { HOST = 1, COHOST = 2, PARTICIPANT = 3, AUDIENCE = 4, OBSERVER = 5, ROBOT = 6 } export type FcrUserRoleValue = 1 | 2 | 3 | 4 | 5 | 6; export interface ParticipantsMoreActionsProps { user: Omit; onParticipantsButtonClick: (action: ParticipantActionType, userId: string) => void; hasPinnedStream: boolean; hideActions: string[]; isLocalCameraInSecondaryWindow: boolean; } export interface IFcrParticipantItemProps { user: User; hasPinnedStream: boolean; hideActions?: string[]; onParticipantsButtonClick?: (action: ParticipantActionType, userId: string) => void; isLocalCameraInSecondaryWindow: boolean; } export declare const FcrParticipant: FC;