import { AgentxService, Service } from "../internal-types"; import { createJsApiLogger } from "./common/_logger"; import { createServiceChecker } from "./common/_service-checker"; import { AqmServiceEntityEvents } from "./common/_service-events"; type Listeners = { eAgentContact: Parameters[0]; eAgentContactAssigned: Parameters[0]; eAgentContactEnded: Parameters[0]; eAgentContactWrappedUp: Parameters[0]; eAgentContactAniUpdated: Parameters[0]; eAgentOfferContact: Parameters[0]; eAgentOfferContactRona: Parameters[0]; eAgentOfferConsult: Parameters[0]; eAgentWrapup: Parameters[0]; eAgentContactHeld: Parameters[0]; eAgentContactUnHeld: Parameters[0]; eCallRecordingStarted: Parameters[0]; eAgentConsultCreated: Parameters[0]; eAgentConsultConferenced: Parameters[0]; eAgentConsultEnded: Parameters[0]; eAgentCtqCancelled: Parameters[0]; eAgentConsulting: Parameters[0]; eAgentConsultFailed: Parameters[0]; eAgentConsultEndFailed: Parameters[0]; eAgentCtqFailed: Parameters[0]; eAgentCtqCancelFailed: Parameters[0]; eAgentConsultConferenceEndFailed: Parameters[0]; eAgentMonitorStateChanged: Parameters[0]; eAgentMonitoringEnded: Parameters[0]; eAgentOfferCampaignReserved: Parameters[0]; eAgentAddCampaignReserved: Parameters[0]; eAgentCampaignContactUpdated: Parameters[0]; eContactOwnerChanged: Parameters[0]; eParticipantJoinedConference: Parameters[0]; eParticipantLeftConference: Parameters[0]; eAgentConsultConferencing: Parameters[0]; eAgentConsultConferenceEnded: Parameters[0]; eAgentConsultTransferring: Parameters[0]; }; type AqmContactEvents = AqmServiceEntityEvents; type Config = { logger: ReturnType; serviceChecker: ReturnType; aqmEvents: AqmContactEvents; }; export declare class AgentContactJsApi { private readonly logger; private readonly serviceChecker; private readonly aqmEvents; private SERVICE?; private checkService; constructor(config: Config); init(SERVICE?: AgentxService): undefined; cleanup(): undefined; sendDtmf(digit: string | number): undefined; accept(p: { interactionId: string; }): Promise; consultAccept(p: { interactionId: string; }): Promise; buddyAgents(p: { data: Service.Aqm.Contact.BuddyAgents; }): Promise; end(p: { interactionId: string; }): Promise; consultEnd(p: { interactionId: string; isConsult: boolean; }): Promise; cancelCtq(p: { interactionId: string; data: Service.Aqm.Contact.cancelCtq; }): Promise; wrapup(p: { interactionId: string; data: Service.Aqm.Contact.WrapupPayLoad; }): Promise; vteamTransfer(p: { interactionId: string; data: Service.Aqm.Contact.vteamTransferPayLoad; }): Promise; blindTransfer(p: { interactionId: string; data: Service.Aqm.Contact.blindTransferPayLoad; }): Promise; hold(p: { interactionId: string; isPostCallConsult: boolean; data: { mediaResourceId: string; }; }): Promise<{} | undefined>; unHold(p: { interactionId: string; isPostCallConsult: boolean; data: { mediaResourceId: string; }; }): Promise<{} | undefined>; consult(p: { interactionId: string; data: Service.Aqm.Contact.ConsultPayload | Service.Aqm.Contact.ConsultDN | Service.Aqm.Contact.ConsultAgent | Service.Aqm.Contact.ConsultQueue; url: string; }): Promise; consultConference(p: { interactionId: string; data: Service.Aqm.Contact.ConsultPayload; }): Promise; decline(p: { interactionId: string; data: { mediaResourceId: string; }; isConsult: boolean; }): Promise; consultTransfer(p: { interactionId: string; data: Service.Aqm.Contact.consultTransferPayLoad; }): Promise; vteamList(p: { data: Service.Aqm.Contact.VTeam; }): Promise; pauseRecording(p: { interactionId: string; }): Promise; resumeRecording(p: { interactionId: string; data: { autoResumed: boolean; }; }): Promise; acceptV2(p: { interactionId: string; }): Promise; endV2(p: { interactionId: string; isEndingFromNonPrimary?: boolean; }): Promise; cancelTaskV2(p: { interactionId: string; }): Promise; pauseRecordingV2(p: { interactionId: string; }): Promise; resumeRecordingV2(p: { interactionId: string; data: { autoResumed: boolean; }; }): Promise; wrapupV2(p: { interactionId: string; data: Service.Aqm.Contact.WrapupV2PayLoad; }): Promise; consultV2(p: { interactionId: string; data: Service.Aqm.Contact.consultDataV2; }): Promise; consultEndV2(p: { interactionId: string; isConsult: boolean; isSecondaryEpDnAgent?: boolean; queueId?: string; }): Promise; consultConferenceV2(p: { interactionId: string; data: Service.Aqm.Contact.consultConferenceDataV2; }): Promise; exitConference(p: { interactionId: string; }): Promise; consultTransferV2(p: { interactionId: string; data: Service.Aqm.Contact.transferV2Payload; }): Promise; blindTransferV2(p: { interactionId: string; data: Service.Aqm.Contact.transferV2Payload; }): Promise; vteamTransferV2(p: { interactionId: string; data: Service.Aqm.Contact.transferV2Payload; }): Promise; buddyAgentsV2(p: { data: Service.Aqm.Contact.BuddyAgentsV2; }): Promise; dropConferenceParticipant(p: { interactionId: string; data: Service.Aqm.Contact.ConferenceParticipant; }): Promise; addEventListener(eventName: T, listener: Listeners[T]): undefined; addOnceEventListener(eventName: T, listener: Listeners[T]): undefined; removeEventListener(eventName: T, listener: Listeners[T]): void; removeOnceEventListener(eventName: T, listener: Listeners[T]): void; removeAllEventListeners(): void; } export declare const createAgentContactJsApi: () => AgentContactJsApi; export {};