import { IExternalRoles, ServerRoles, ServerRoleShape, IMediaStatus, Participant, ParticipantUrl } from './types'; declare const MemberUtil: { /** * @param {Object} participant - The locus participant object. * @returns {Boolean} */ canReclaimHost: (participant: any) => any; /** * @param {Object} participant - The locus participant object. * @returns {Boolean} */ canApproveAIEnablement: (participant: any) => boolean; /** * @param {Object} participant - The locus participant object. * @returns {[ServerRoleShape]} */ getControlsRoles: (participant: Participant) => Array; /** * Checks if the participant has the brb status enabled. * * @param {Participant} participant - The locus participant object. * @returns {boolean} - True if the participant has brb enabled, false otherwise. */ isBrb: (participant: Participant) => boolean; /** * @param {Object} participant - The locus participant object. * @param {ServerRoles} controlRole the search role * @returns {Boolean} */ hasRole: (participant: Participant, controlRole: ServerRoles) => boolean; /** * @param {Object} participant - The locus participant object. * @returns {Boolean} */ hasCohost: (participant: Participant) => boolean; /** * @param {Object} participant - The locus participant object. * @returns {Boolean} */ hasModerator: (participant: Participant) => boolean; /** * @param {Object} participant - The locus participant object. * @returns {Boolean} */ hasPresenter: (participant: Participant) => boolean; /** * @param {Object} participant - The locus participant object. * @returns {IExternalRoles} */ extractControlRoles: (participant: Participant) => IExternalRoles; /** * @param {Object} participant - The locus participant object. * @returns {Boolean} */ isUser: (participant: Participant) => boolean; isModerator: (participant: Participant) => boolean; /** * @param {Object} participant - The locus participant object. * @returns {Boolean} */ isGuest: (participant: Participant) => boolean; /** * @param {Object} participant - The locus participant object. * @returns {Boolean} */ isDevice: (participant: Participant) => boolean; isModeratorAssignmentProhibited: (participant: Participant) => boolean; isPresenterAssignmentProhibited: (participant: Participant) => boolean; /** * checks to see if the participant id is the same as the passed id * there are multiple ids that can be used * @param {Object} participant - The locus participant object. * @param {String} id * @returns {Boolean} */ isSame: (participant: Participant, id: string) => boolean; /** * @param {Object} participant - The locus participant object. * @param {Boolean} isGuest * @param {String} status * @returns {Boolean} */ isNotAdmitted: (participant: Participant, isGuest: boolean, status: string) => boolean; /** * @param {Object} participant - The locus participant object. * @returns {Boolean} */ isAudioMuted: (participant: Participant) => any; /** * @param {Object} participant - The locus participant object. * @returns {Boolean} */ isVideoMuted: (participant: Participant) => boolean; /** * @param {Object} participant - The locus participant object. * @returns {Boolean} */ isHandRaised: (participant: Participant) => boolean; /** * @param {Object} participant - The locus participant object. * @returns {Boolean} */ isBreakoutsSupported: (participant: any) => boolean; /** * @param {Object} participant - The locus participant object. * @returns {Boolean} */ isSupportsSingleUserAutoEndMeeting: (participant: any) => boolean; /** * @param {Object} participant - The locus participant object. * @returns {Boolean} */ isInterpretationSupported: (participant: any) => boolean; /** * @param {Object} participant - The locus participant object. * @returns {Boolean} */ isLiveAnnotationSupported: (participant: any) => boolean; /** * utility method for audio/video muted status * @param {any} participant * @param {String} statusAccessor * @param {String} controlsAccessor * @returns {Boolean | undefined} */ isMuted: (participant: Participant, statusAccessor: string, controlsAccessor: string) => any; /** * utility method for getting the recording member for later comparison * @param {Object} controls * @returns {String|null} */ getRecordingMember: (controls: any) => any; /** * @param {Object} participant - The locus participant object. * @returns {Boolean} */ isRecording: (participant: Participant) => boolean; isRemovable: (isSelf: any, isGuest: any, isInMeeting: any, type: any) => boolean; isMutable: (isSelf: any, isDevice: any, isInMeeting: any, isMuted: any, type: any) => boolean; /** * @param {Object} participant - The locus participant object. * @returns {String} */ extractStatus: (participant: Participant) => "IN_LOBBY" | "IN_MEETING" | "NOT_IN_MEETING"; /** * @param {Object} participant - The locus participant object. * @returns {String} */ extractId: (participant: Participant) => string; /** * extracts the media status from nested participant object * @param {Object} participant - The locus participant object. * @returns {Object} */ extractMediaStatus: (participant: Participant) => IMediaStatus; /** * @param {Object} participant - The locus participant object. * @returns {String} */ extractName: (participant: Participant) => string; /** * @param {Object} participant - The locus participant object. * @returns {String} */ extractPairedWithParticipantUrl: (participant: Participant) => ParticipantUrl | undefined; }; export default MemberUtil;