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 = { eMonitoringOffered: Parameters[0]; eMonitoringStarted: Parameters[0]; eMonitoringRequestCreateFailed: Parameters[0]; eMonitoringFailed: Parameters[0]; eMonitoringEnded: Parameters[0]; eMonitoringEndFailed: Parameters[0]; eMonitoringHeld: Parameters[0]; eMonitoringHoldFailed: Parameters[0]; eMonitoringUnHeld: Parameters[0]; eMonitoringUnHoldFailed: Parameters[0]; eAgentMonitorStateChanged: Parameters[0]; eAgentMonitorStateChangeFailed: Parameters[0]; }; type AqmSupervisorEvents = AqmServiceEntityEvents; type Config = { logger: ReturnType; serviceChecker: ReturnType; aqmEvents: AqmSupervisorEvents; }; export declare class CallMonitorJsApi { private readonly logger; private readonly serviceChecker; private readonly aqmEvents; private SERVICE?; private checkService; constructor(config: Config); init(SERVICE?: AgentxService): void; cleanup(): void; startMonitoring(p: { data: Service.Aqm.Supervisor.MonitoringRequest; }): Promise; endMonitoring(p: { interactionId: string; }): Promise; holdMonitoring(p: { interactionId: string; }): Promise; unHoldMonitoring(p: { interactionId: string; }): Promise; bargeIn(p: { interactionId: string; }): Promise; addEventListener(eventName: T, listener: Listeners[T]): void; addOnceEventListener(eventName: T, listener: Listeners[T]): void; removeEventListener(eventName: T, listener: Listeners[T]): void; removeOnceEventListener(eventName: T, listener: Listeners[T]): void; removeAllEventListeners(): void; } export declare const createMonitoringJsApi: () => CallMonitorJsApi; export {};