// Copyright (c) Microsoft Corporation.
// Licensed under the MIT License.
import { _isPreviewOn } from "../../../../../calling-component-bindings/src";
/**
 * @private
 */
export const getDisplayName = (state) => state.displayName;
/**
 * @private
 */
export const getCallId = (state) => { var _a; return (_a = state.call) === null || _a === void 0 ? void 0 : _a.id; };
/**
 * @private
 */
export const getEndedCall = (state) => state.endedCall;
/**
 * @private
 */
export const getCallStatus = (state) => { var _a, _b; return (_b = (_a = state.call) === null || _a === void 0 ? void 0 : _a.state) !== null && _b !== void 0 ? _b : 'None'; };
/**
 * @private
 */
export const getDeviceManager = (state) => state.devices;
/**
 * @private
 */
export const getIsScreenShareOn = (state) => { var _a, _b; return (_b = (_a = state.call) === null || _a === void 0 ? void 0 : _a.isScreenSharingOn) !== null && _b !== void 0 ? _b : false; };
/**
 * @private
 */
export const getLocalParticipantRaisedHand = (state) => { var _a; return (_a = state.call) === null || _a === void 0 ? void 0 : _a.raiseHand.localParticipantRaisedHand; };
/**
 * @private
 */
export const getCapabilites = (state) => { var _a, _b; return (_b = (_a = state.call) === null || _a === void 0 ? void 0 : _a.capabilitiesFeature) === null || _b === void 0 ? void 0 : _b.capabilities; };
/**
 * @private
 */
export const getIsPreviewCameraOn = (state) => _isPreviewOn(state.devices);
/**
 * @private
 */
export const getMicrophones = (state) => state.devices.microphones;
/**
 * @private
 */
export const getCameras = (state) => state.devices.cameras;
/**
 * @private
 */
export const getRole = (state) => { var _a; return (_a = state.call) === null || _a === void 0 ? void 0 : _a.role; };
/**
 * @private
 */
export const getPage = (state) => state.page;
/**
 * @private
 */
export const getTransferCall = (state) => state.acceptedTransferCallState;
/**
 * @private
 */
export const getLocalMicrophoneEnabled = (state) => state.isLocalPreviewMicrophoneEnabled;
/**
 * @private
 */
export const getLocalVideoStreams = (state) => { var _a; return (_a = state.call) === null || _a === void 0 ? void 0 : _a.localVideoStreams; };
/**
 * @private
 */
export const getIsTranscriptionActive = (state) => { var _a; return !!((_a = state.call) === null || _a === void 0 ? void 0 : _a.transcription.isTranscriptionActive); };
/**
 * @private
 */
export const getIsRecordingActive = (state) => { var _a; return !!((_a = state.call) === null || _a === void 0 ? void 0 : _a.recording.isRecordingActive); };
/**
 * @private
 */
export const getUserFacingDiagnostics = (state) => { var _a; return (_a = state.call) === null || _a === void 0 ? void 0 : _a.diagnostics; };
/**
 * @private
 */
export const getDominantSpeakerInfo = (state) => { var _a; return (_a = state.call) === null || _a === void 0 ? void 0 : _a.dominantSpeakers; };
/**
 * @private
 */
export const getRemoteParticipants = (state) => { var _a; return (_a = state.call) === null || _a === void 0 ? void 0 : _a.remoteParticipants; };
/**
 * @private
 */
export const getEnvironmentInfo = (state) => state.environmentInfo;
/**
 * @private
 */
export const getSelectedVideoEffect = (state) => state.selectedVideoBackgroundEffect;
/** @private */
export const getCaptionsKind = (state) => {
    var _a;
    return (_a = state.call) === null || _a === void 0 ? void 0 : _a.captionsFeature.captionsKind;
};
/** @private */
export const getCaptions = (state) => {
    var _a;
    return (_a = state.call) === null || _a === void 0 ? void 0 : _a.captionsFeature.captions;
};
/** @private */
export const getRealTimeText = (state) => {
    var _a;
    return (_a = state.call) === null || _a === void 0 ? void 0 : _a.realTimeTextFeature.realTimeTexts;
};
/** @private */
export const getCaptionsStatus = (state) => {
    var _a;
    return (_a = state.call) === null || _a === void 0 ? void 0 : _a.captionsFeature.isCaptionsFeatureActive;
};
/** @private */
export const getRealTimeTextStatus = (state) => {
    var _a;
    return (_a = state.call) === null || _a === void 0 ? void 0 : _a.realTimeTextFeature.isRealTimeTextFeatureActive;
};
/** @private */
export const getCurrentCaptionLanguage = (state) => {
    var _a;
    return (_a = state.call) === null || _a === void 0 ? void 0 : _a.captionsFeature.currentCaptionLanguage;
};
/** @private */
export const getCurrentSpokenLanguage = (state) => {
    var _a;
    return (_a = state.call) === null || _a === void 0 ? void 0 : _a.captionsFeature.currentSpokenLanguage;
};
/** @private */
export const getSupportedCaptionLanguages = (state) => {
    var _a;
    return (_a = state.call) === null || _a === void 0 ? void 0 : _a.captionsFeature.supportedCaptionLanguages;
};
/** @private */
export const getSupportedSpokenLanguages = (state) => {
    var _a;
    return (_a = state.call) === null || _a === void 0 ? void 0 : _a.captionsFeature.supportedSpokenLanguages;
};
/**
 * @private
 */
export const getIsTeamsCall = (state) => state.isTeamsCall;
/**
 * @private
 */
export const getIsTeamsMeeting = (state) => state.isTeamsMeeting;
/**
 * @private
 */
export const getTeamsMeetingCoordinates = (state) => { var _a, _b; return (_b = (_a = state.call) === null || _a === void 0 ? void 0 : _a.meetingConference) === null || _b === void 0 ? void 0 : _b.conferencePhones; };
/**
 * @private
 */
export const getLatestErrors = (state) => state.latestErrors;
/**
 * @private
 */
export const getLatestCapabilitiesChangedInfo = (state) => {
    var _a, _b;
    return (_b = (_a = state.call) === null || _a === void 0 ? void 0 : _a.capabilitiesFeature) === null || _b === void 0 ? void 0 : _b.latestCapabilitiesChangeInfo;
};
/**
 * @private
 */
export const getTargetCallees = (state) => state.targetCallees;
/**
 * @private
 */
export const getStartTime = (state) => { var _a; return (_a = state.call) === null || _a === void 0 ? void 0 : _a.startTime; };
/**
 * @private
 */
export const getSpotlightedParticipants = (state) => { var _a, _b; return (_b = (_a = state.call) === null || _a === void 0 ? void 0 : _a.spotlight) === null || _b === void 0 ? void 0 : _b.spotlightedParticipants; };
/**
 * @private
 */
export const getAssignedBreakoutRoom = (state) => { var _a, _b; return (_b = (_a = state.call) === null || _a === void 0 ? void 0 : _a.breakoutRooms) === null || _b === void 0 ? void 0 : _b.assignedBreakoutRoom; };
/**
 * @private
 */
export const getBreakoutRoomSettings = (state) => { var _a, _b; return (_b = (_a = state.call) === null || _a === void 0 ? void 0 : _a.breakoutRooms) === null || _b === void 0 ? void 0 : _b.breakoutRoomSettings; };
/**
 * @private
 */
export const getBreakoutRoomDisplayName = (state) => { var _a, _b; return (_b = (_a = state.call) === null || _a === void 0 ? void 0 : _a.breakoutRooms) === null || _b === void 0 ? void 0 : _b.breakoutRoomDisplayName; };
/**
 * @private
 */
export const getLatestNotifications = (state) => state.latestNotifications;
/** @private */
export const getVideoEffectsDependency = (state) => state.onResolveVideoEffectDependency;
/** @private */
export const getDeepNoiseSuppresionEffectsDependency = (state) => state.onResolveDeepNoiseSuppressionDependency;
/** @private */
export const getDeepNoiseSuppresionIsOnByDefault = (state) => state.deepNoiseSuppressionOnByDefault;
/** @private */
export const getHideDeepNoiseSupressionButton = (state) => state.hideDeepNoiseSuppressionButton;
/** @private */
export const getReactionResources = (state) => state.reactions;
/** @private */
export const getAlternateCallerId = (state) => state.alternateCallerId;
/** @private */
export const getIsRoomsCall = (state) => state.isRoomsCall;
/** @private */
export const getVideoBackgroundImages = (state) => state.videoBackgroundImages;
/**
 * @private
 * Gets the together mode streams state.
 * @param state - The current state of the call adapter.
 * @returns The together mode streams state or undefined.
 */
export const getIsTogetherModeActive = (state) => { var _a; return (_a = state.call) === null || _a === void 0 ? void 0 : _a.togetherMode.isActive; };
/**
 * @private
 * Gets local participant's user id.
 * @param state - The current state of the call adapter.
 * @returns The local participant's user id or undefined.
 */
export const getLocalUserId = (state) => state.userId;
/** @private */
export const getMediaAccessSetting = (state) => { var _a; return (_a = state.call) === null || _a === void 0 ? void 0 : _a.meetingMediaAccess; };
//# sourceMappingURL=baseSelectors.js.map