/** * @module TelephonyConfig */ import { Subscription } from 'rxjs'; import { RBEvent } from '../../models/event.model'; import { Service } from '../../services/service'; import { TelephonyRoutingDevice, TelephonyRoutingDeviceTypes, TelephonyRoutingMode } from '../../models/telephonyConfig.model'; /** @internal */ export declare const TELEPHONYCONFIG_SVC = "TelephonyConfigService"; /** * @eventProperty *TelephonyCOnfig service events send to other services * Can listen to it via `TelephonyConfigService.subscribe()` API */ export declare enum TelephonyConfigServiceEvents { /** * @eventProperty * This `RBEvent` is sent when the telephony routing device list has changed. * * **Event Data** * - **RoutingDeviceList**: The list of all devices (as TelephonyRoutingDevice[]) present for the user */ ON_ROUTING_LIST_CHANGE = "ON_ROUTING_LIST_CHANGE", /** * @eventProperty * This `RBEvent` is sent when the telephony routing mode has changed * * **Event Data** * - **routingMode**: The routingMode (as TelephonyRoutingMode) return the telephony Config State */ ON_ROUTING_MODE_CHANGE = "ON_ROUTING_MODE_CHANGE" } export interface TelephonyConfigService { /** * Subscribe to the telephonyConfig updates, all events are of RBEvent * @param callback - The callback function that will be called when events are received * @param eventNames - (optional) array of event to listen * @returns Returns RxJS Subscription */ subscribe(callback: (event: RBEvent) => any, eventNames?: TelephonyConfigServiceEvents | TelephonyConfigServiceEvents[]): Subscription; /** * Get the routing devices list */ getRoutingDevicesList(): TelephonyRoutingDevice[]; /** * Set the telephony routing mode * @param selectedMode - the device which is selected like Telephony Config Device * @param destination - if Telephony Config Device is Other_Phone then the destination must be entered with the new phone number * A ON_ROUTING_MODE_CHANGE event is sent afterwards at the completion of the operation to notify about the new telephony Config status. */ setRoutingDeviceMode(selectedMode: TelephonyRoutingDeviceTypes, destination?: string): any; /** * Set the Office Phone Ringing Option * @param isOnlyOfficePhoneRinging - In the case of office phone is selected and the user has mobile phones (work or perso) associated, if TRUE only office phone rings else FALSE the office phone and the mobile phone (mobile pro or mobile perso) ring */ setOfficePhoneRingingOption(isOnlyOfficePhoneRinging: boolean): any; /** * Get the routing mode * A ON_ROUTING_MODE_CHANGE event is sent afterwards at the completion of the operation to notify about the new telephony Config status. * @returns Returns TelephonyRoutingMode */ getRoutingMode(): TelephonyRoutingMode; } /** * @internal */ export declare class TelephonyConfigServiceRB extends Service implements TelephonyConfigService { private rxSubject; private eventUnregisters; private contact; private isSipWise; private webRTCDevice; private isTelephonyAllowed; private isNomadicFeatureAllowed; private isNomadicFeatureActivated; private is3dPartyFeatureActivated; private areTelephonySettingsEnabled; private mediaPillarNumber; private isNomadicModeActivated; private isMakeCallInitiatorIsMain; isOtherPhoneModeDenied: boolean; isCCDAgentEnabled: boolean; private isMediaPillarConfigured; private routingDeviceList; private routingMode; private oldRoutingMode; private sipDevice; private nomadicPhone; private nomadicToNumber; private isMediaPillarAvailable; private isTelephonyStarted; private subscriptions; private logger; private telephonyService; private contactService; private errorHelperService; private authService; private profileService; private webrtcGatewayService; private eventService; private settingsService; private ccdAgentService; private userService; /** * Returns the TelephonyConfig service singleton */ static getInstance(): TelephonyConfigServiceRB; static build(): TelephonyConfigServiceRB; private constructor(); start(): Promise; reconnect(): Promise; stop(): Promise; private clearSubscriptions; /** * Subscribe to the nomadic updates, all events are of RBEvent * @param callback - The callback function that will be called when events are received * @param eventNames - (optional) array of event to listen * @returns Returns RxJS Subscription */ subscribe(callback: (event: RBEvent) => any, eventNames?: TelephonyConfigServiceEvents | TelephonyConfigServiceEvents[]): Subscription; /** * @public * @param name - the name of the event * @param data - the data to be send (an object) * TelephonyConfigService events send to other services via sendEvent() * Can listen to it via TelephonyConfigServiceRB.subscribe() API */ private sendEvent; private handleNomadicState; private evalChangeModePossible; private handleCallSipWiseState; setRoutingDeviceMode(deviceTypeSelected: TelephonyRoutingDeviceTypes, destination?: string): Promise; setOfficePhoneRingingOption(isOnlyOfficePhoneRinging: boolean): Promise; getRoutingMode(): TelephonyRoutingMode; getRoutingDevicesList(): TelephonyRoutingDevice[]; /** * Compute telephony situation * @param phoneNumber - Phonenumber which will be monitored * @param isUnchangeableNumber - Allow to define the phonenumber like a rainbowNumber * @param NotTakeIntoAccount - The result won't be taken in account (above used un graphical interface) */ private computeTelephonySituation; private telConfigChanged; private computeMode; private broadcastRoutingMode; private broadcastRoutingDevicesList; private mediaPillarPollingManagement; } //# sourceMappingURL=telephonyConfig.service.d.ts.map