import { LayoutUserRoles } from "@/app/utils/DesktopLayoutUtils"; import { AgentStateSelector, Utility, WrapUp } from "@agentx/agentx-mfe-react-based"; import { UserStationLoginTypes } from "@agentx/agentx-mfe-wc-based"; import { Service } from "@agentx/agentx-services"; import { UserStore } from "@component-stores/UserStore/user-store"; import { CI } from "@uuip/unified-ui-platform"; export type EpDnList = Array; export type organizationIdleCodes = { isFetchingSuccess: boolean; data: Service.Aqm.Configs.Entity[]; }; export declare class ModuleAgent extends UserStore { dnNumber: string; teamName: string; profileType: string; enterpriseId: string; privacyShieldVisible: string | boolean | undefined; agentName: string; agentEmailId: string; agentProfileID: string; isOutboundEnabledForTenant: boolean; isOutboundEnabledForAgent: boolean; isAdhocDialingEnabled: boolean; isAgentAvailableAfterOutdial: boolean; isCampaignManagementEnabled: boolean; campaignManagerAdditionalInfo: string; acqueonApiUrl: string; acqueonConsoleUrl: string; siteId: string; usesOtherDN: boolean; isExtension: boolean; isEndCallEnabled: boolean; isEndConsultEnabled: boolean; allowConsultToQueue: boolean; lcmUrl: string; teamUniqueId: string; dialPlan: Service.Aqm.Configs.DialPlan; outDialEp: string; agentPhoto: string | undefined; channelsStatesMap: Record; subStatus: Service.Aqm.Agent.StateChange["state"]; subStatusChangeTimestamp: Date | null; idleStatusTimestamp: Date | null; idleCodes: Service.Aqm.Configs.Entity[]; agentStateIdleCodes: Service.Aqm.Configs.agentStateIdleCodes; systemIdleCodes: Service.Aqm.Configs.agentStateIdleCodes | null; agentDefaultIdleCode: { id: string; name: string; } | null; agentDefaultWrapupCode: Service.Aqm.Configs.agentDefaultWrapupCode | undefined; agentWrapUpCodes: Service.Aqm.Configs.agentWrapUpCodes | undefined; wrapUpData: Service.Aqm.Configs.WrapupData; outDialAni: Service.Aqm.Agent.OutDialAniData; selectedOutdialANI: { id: string; name: string; }; addressBook: Service.Aqm.Agent.AddressBooksData; cadVariables: Service.Aqm.Configs.CadVariables[]; callVariablesSuppressed: Service.Aqm.Configs.CallVariablesSuppressed; agentAnalyzerId: string | undefined; userSelectedRole: string; isMonitoringEnabled: boolean; isMidCallMonitoringEnabled: boolean; isBargeInEnabled: boolean; isManagedTeamsEnabled: boolean; isSendMessageEnabled: boolean; isAgentStateChangeEnabled: boolean; isSignoutAgentsEnabled: boolean; isManagedQueuesEnabled: boolean; userRole: string[]; ciRoles: string[]; role: string; preferredSupervisorTeamId: string; defaultDn: string; isDefaultDnSet: boolean; extensionNumber: string; dialNumberValueForNonUS: string; isRecordingManagementEnabled: boolean; lostConnectionRecoveryTimeout: number; managedTeams: Array; managedQueues: Array; isTimeoutDesktopInactivityEnabled: boolean; timeoutDesktopInactivityMins: number | undefined; isAnalyzerEnabled: boolean; tenantTimezone: string | undefined; changedByName: string | null; webRtcStatus: string; presenceServiceStatus: { serviceStatus: string; trackingId: string; }; lastStateChangeByPresence: boolean; idleCodesAccess: string; contactCenterEnabled: boolean; selectedChannelList: Service.Aqm.Configs.ChannelList; selectedTeamList: Service.Conf.Team[]; selectedQueueList: Service.Conf.Queue[]; isManagedTeamLoading: boolean; isManagedQueueLoading: boolean; isManagedTeamsError: boolean | string; isManagedQueuesError: boolean | string; organizationIdleCodes: organizationIdleCodes; selectedInputDeviceId: string; selectedOutputDeviceId: string; dtmfValue: string; selectedOutputVolume: any; speakerMute: any; loginVoiceOptions: Service.Conf.LoginOption[]; mediaPermission: PermissionState; epDnMapping: any; displayMicrosoftUserDetails: boolean; displayWebexUserDetails: boolean; stateSynchronization: boolean; collabToolInSync: string; signOutByUi: boolean; signOutByProfileChange: boolean; availableExtensions: string[]; isAgentLoggedIn: boolean; callDevices: Record; secondaryExtensionLineOwnerIds: Record; rbacPermissions: Record | undefined; scheduleAndManageCallBack: boolean; constructor(); get isMultiChannel(): boolean; get lastSetIdleCode(): import("@agentx/agentx-services/dist/types/src/services/aqm/aqm-idle-code-utils").IdleCodeSummary; get areDigitalChannelsEnabled(): boolean; get canManuallyAssignDigitalTasks(): boolean; get collaboration(): { collabToolInSync: string; displayUserDetails: boolean; displayMicrosoftUserDetails: boolean; displayWebexUserDetails: boolean; stateSynchronization: boolean; }; get analyzerInteractionFilter(): any; get analyzerQueueStatsFilter(): any; get getAgentStateProps(): any; get getGranularAgentStateProps(): Service.Aqm.Configs.GranularAgentStateProps; get getAgentWrapUpCodeProps(): any; get getEpDnMapping(): any; get getAddressBook(): Service.Aqm.Agent.AddressBooksData; get getAcqueonTeamId(): string; get getOutDialAni(): Service.Aqm.Agent.OutDialAniData; get outdialAniList(): Service.Aqm.Agent.OutdialAni[]; get getOutdialRegex(): string; get getUserRole(): LayoutUserRoles; get getMCMEnabled(): boolean; get getRecordingManagementEnabled(): boolean; get getMicrophoneAccessDenied(): boolean; get getMediaDeviceSetting(): any; get imiConfigs(): Utility.AgentConfigs; get lineOwnerIdForCurrentExtension(): string | undefined; private trackStateChangeSuccess; private trackStateChangeFailed; private handleStateChangeError; changeStateWithDefaultIdleObject(idleCode: Service.Aqm.Configs.DefaultAuxCodes, state: string, lastStateChangeReason?: string): void; fetchDefaultIdleCodes: (orgId: string) => Promise; changeAgentState(state: string): Promise; private readonly getIdleCodesForInfiniteScroll; handleStatusUpdateWithIdleCode: (agentState: string, auxCodeId: string, lastStateChangeTimestamp: number, lastIdleCodeChangeTimestamp: number, fetchedSingleIdleCode?: Service.Aqm.Configs.Entity[]) => void; private makeStateChange; get getAgentData(): { orgId: string; teamId: string; agentId: string; selectedLanguage: string; }; get isSupervisorySendMessageEnabled(): boolean; get isStateChangeBySupervisorEnabled(): boolean; get isSignoutBySupervisorEnabled(): boolean; private readonly isScheduleListeningFFEnabled; get isScheduleListeningEnabled(): boolean; get tpwConfigs(): any; get acqueonAgentId(): string; get getIsMaskSensitiveDataEnabled(): boolean; get getIsPersonalGreetingsEnabledInProfile(): boolean; updateStatusAfterRONA(newState: string): void; updateSubStatus(subStatus: Service.Aqm.Agent.StateChange["state"], lastStateChangeTimestamp: number | undefined, lastIdleCodeChangeTimestamp: number | undefined): void; updateStateByPresence(auxCodeId: string, state: string): Promise; updateLastStateChangeByPresence(flag: boolean): void; updateTeamName(teamName: string): void; updateTeamId(teamId: string): void; updateTeamUniqueId(teamId: string): void; updateChangeByName(supervisorName: string | null): void; updateSelectedAgentRole(selectedRoleName: string): void; updateDnNumber(dnNumber: string): void; updateUsesOtherDN(usesOtherDN: boolean): void; updateIsExtension(isExtension: boolean): void; updateDefaultDN(defaultDn: string): void; updateExtensionNumber(extensionNumber: string): void; updateDialNumberValueForNonUS(dialNumberValueForNonUS: string): void; updateSelectedInputDeviceId(selectedInputDeviceId: string): void; updateSelectedOutputDeviceId(selectedOutputDeviceId: string): void; updateMediaSettings(settings: any): void; updateMediaPermission(status: PermissionState): Promise; updateChannelCapacity(mmProfile: Record): void; get getChannelTypes(): Service.Aqm.Configs.Channels[]; get getChannelStatesJson(): string; updateChannelsStatesMap(channelsStatesMap: Service.Aqm.Configs.GranularAgentStateProps["channelsStatesMap"]): void; updateSpecificChannelState(channel: Service.Aqm.Configs.Channels, state: Service.Aqm.Configs.AgentChannelTypeStates): void; updateProfileType(profileType: string): void; updateAgentId(agentId: string): void; updateAvailableExtensions(extensions: string[]): void; updateAgentProfileLogin(detail: UserStationLoginTypes.ESuccess["detail"]): void; updateInitialConfiguration(profile: Service.Conf.Profile): void; updateStatusAfterOutdial(e: WrapUp.EWrapupEvent): void; updateStatusAfterProfileUpdate(): void; updateStateToRona(): void; updateoutdialAniList(resp: Service.Aqm.Agent.OutdialAniListSuccess): void; updateSelectedOutdialANI(ani: Service.Aqm.Agent.OutdialAni): void; updateoutdialAniListFailed(): void; updateAgentStateIdleCodes(resp: Service.Aqm.Configs.agentStateIdleCodes): void; updateSystemIdleCodes(resp: Service.Aqm.Configs.agentStateIdleCodes): void; updateCallDevices(devices: Record): void; updateSecondaryExtensionLineOwnerIds(secondaryExtensionLineOwnerIds: Record): void; updateAgentWrapUpCodes(resp: Service.Aqm.Configs.agentWrapUpCodes): void; updateWrapupList(wrapupReasonList: []): void; updateAddressbookList(addressBookData: Service.Aqm.Agent.AddressBooks): void; updateAddressbookListFailed(resp: any): void; updateSelectedChannelList(selectedChannelList: Service.Aqm.Configs.ChannelList): void; updateSelectedTeamList(selectedTeamList: Service.Conf.Team[]): void; updateSelectedQueueList(selectedQueueList: Service.Conf.Queue[]): void; updateDtmfValue(dtmfValue: string): void; selectState(e: AgentStateSelector.EventSelected): Promise; updateAgentMe(meData: CI.User, isCxStudioAdminFlowEnabled?: boolean): void; setRole(role: string, meData: CI.User, orgDetails: { orgId: string; role: string; }): void; setUserProfileInfo(role: string, agentPhoto: string, organizationId: string, meUserId: string): void; updateAgentAnalyzerId(userId: string): void; updateUserRole(userRole: string[]): void; updateWebRtcStatus(status: string): void; updateEpDnList(data: Array): void; updatetrackingIdforEpList(errorObj: any): void; updateManagedTeams(managedTeamsData: Array): void; updateManagedQueues(managedQueuesData: Array): void; updateIsManagedTeamLoading(status: boolean): void; updateIsManagedQueueLoading(status: boolean): void; updateIsManagedTeamEnabled(status: boolean): void; updateIsManagedQueueEnabled(status: boolean): void; updateIsManagedTeamError(status: boolean | string): void; updateIsManagedQueueError(status: boolean | string): void; updateOrganizationIdleCodes(isFetchingSuccess: boolean, data: Service.Aqm.Configs.Entity[]): void; updatePresenceServiceStatus(serviceStatus: string, trackingId: any): void; updateDisplayMicrosoftUserDetailsEnabled(status: boolean): void; updateDisplayWebexUserDetailsEnabled(status: boolean): void; updateStateSyncEnabled(status: boolean): void; updateCollabToolInSync(toolName: string): void; updateSignOutByUi(isSignedOut: boolean): void; updateSignOutByChangeProfile(isSignedOut: boolean): void; updateIdleCodesList(idleCodesList: []): void; updateIsAgentLoggedIn(isLoggedIn: boolean): void; } declare module "@/store" { namespace Store.Agent { } } export declare const agent: ModuleAgent; /** * @typedef {Object} agent * @summary $STORE.agent * @property {String} dnNumber="" Dial Number * @property {String} teamName="" Name of the team. * @property {String} profileType="" Profile Type * @property {String} enterpriseId="" Unique Database Identifier of the tenant. * @property {String} agentName="" Name of the agent. * @property {String} agentId="" Unique identifier of the agent. * @property {String} agentEmailId="" Email ID of the agent. * @property {Boolean} isOutboundEnabledForTenant=false Determines whether the outbound feature is enabled for the tenant. * @property {Boolean} isOutboundEnabledForAgent=false Determines whether the outbound feature is enabled for the agent. * @property {Boolean} isAdhocDialingEnabled=false Determines whether agent can use numbers other than the ones mentioned in address book for the outdial. * @property {Boolean} isAgentAvailableAfterOutdial=false Determines whether the agent is available after the outdial. * @property {Boolean} isCampaignManagementEnabled=false Determines whether the campaign management enabled. * @property {String} campaignManagerAdditionalInfo="" Additional information for the campaign management. * @property {String} siteId="" Unique Identifier for the site. * @property {String} orgId="" Unique Identifier for the organization. * @property {Boolean} usesOtherDN=false Other Dial Number (Non-US Format). * @property {Boolean} isEndCallEnabled=false Determines whether the end call feature is enabled. * @property {Boolean} isEndConsultEnabled=true Determines whether the end consult call feature is enabled. * @property {Boolean} allowConsultToQueue=false Determines whether consult can go to queue. * @property {String} teamId="" Unique identifier of the team. * @property {String} outDialEp="" Outdial Entry Point * @property {String} changedByName="" supervisor who changed agent state. * @property {(String|Undefined)} agentPhoto URL for the photo of the agent in JPG format. * @property {Object} channels Channels: Includes voice, chat, email, and social * @property {Number} channels.voiceCount=0 Channel - Voice Count * @property {Number} channels.chatCount=0 Channel - Chat Count * @property {Number} channels.emailCount=0 Channel - Email Count * @property {Number} channels.socialCount=0 Channel - Social Count * @property {Service_Aqm_Agent_StateChange} subStatus="" Agent availability status. * The possible values for sub status can be Available, Idle, or RONA [Service.Aqm.Agent.StateChange["state"]] * @property {Date} subStatusChangeTimestamp Timestamp for change in the agent state. * @property {Date} idleStatusTimestamp Timestamp for idle status. * @property {Service_Aqm_Configs_Entity} idleCodes=[]] The idle reason codes indicating that the agent is not ready to accept any routed requests. * Example: Idle, Coffee break, Meeting, Tea. [Service.Aqm.Configs.Entity] * @property {Service_Aqm_Configs_WrapupData} wrapUpData Wrap up data. [Service.Aqm.Configs.WrapupData] * @property {Service_Aqm_Agent_OutdialAni} outDialAni.data=[]] Outdial ANI List. [Service.Aqm.Agent.OutdialAni] * @property {String} userSelectedRole="" Name of Selected UserRole * @property {String} isMonitoringEnabled=false Monitoring flag for user * @property {String} isMidCallMonitoringEnabled=false Mid call Monitoring flag for user * @property {boolean} isTimeoutDesktopInactivityEnabled = false determines whether the inactivity timeout feature is enabled. * @property {number} timeoutDesktopInactivityMins = 0 determines the timeout interval in minutes for inactivity * @property {boolean} isAnalyzerEnabled = false determines whether the supervisor has access to analyzer or not. * @property {boolean} isManagedQueuesError false determines the no error. If we have a error then will store the trackingId. * @property {boolean} isManagedTeamsError false determines the no error. If we have a error then will store the trackingId. * @property {String[]} loginVoiceOptions= DEFAULT_LOGIN_VOICE_OPTIONS Agent Login Voice options. AGENT_DN | EXTENSION | BROWSER * @property {String} deviceType = AGENT_DN Agent Device Selection * @property {String} mediaPermission = "denied" Microphone Access Status "granted" | "denied" | "prompt" * @property {boolean} isRecordingManagementEnabled=false Manage Recordings flag for user */ //# sourceMappingURL=store-agent.d.ts.map