import { HttpClient } from '@angular/common/http'; import { BehaviorSubject, Observable } from 'rxjs'; import { Call } from '@twilio/voice-sdk'; import { ExtensionService } from './extension.service'; import * as i0 from "@angular/core"; export interface DialPayload { number: string; name: string; img: string; callerId: string; isDialFromHistory: boolean; from: string; } export declare class TwilioService { private http; private extensionService; openInProgressDialpad: BehaviorSubject; currentCall: BehaviorSubject; currentCallState: BehaviorSubject; device: any; call: Call; incomingCallToken: string; outgoingCallToken?: string; callType: BehaviorSubject; incomingCallDetail: any; token: any; isNewContactAdded: BehaviorSubject; updateRecentCall: BehaviorSubject; callhandleFromNotification: BehaviorSubject; endCall: BehaviorSubject; dialNumberFromOtherModule: BehaviorSubject; toggleCallerIdAlert: BehaviorSubject; isTrialOver: BehaviorSubject; isPaymentDue: BehaviorSubject; isAvailableNumber: BehaviorSubject; callerIdList: BehaviorSubject; triggerSMSReload: BehaviorSubject; isConnectingIncomingCallId: BehaviorSubject; tokenInitialized: boolean; private tokenInitialization$; deviceId: any; conferenceCallInfo: any; isShowIncomingCall: boolean; acceptedCallList: Call[]; private primaryHasCall; private spareDevice; spareDeviceReady: boolean; private pendingIncomingDevices; private extraDevices; incomingCallsMap: Map; private tokenRefreshInProgress; private recoveryAttempts; private recoveryTimer; constructor(http: HttpClient, extensionService: ExtensionService); private initializeToken; initializeTwilioDevice(deviceId: any): void; private initializeDevice; private refreshDeviceToken; private scheduleDeviceRecovery; private ensureDeviceHealthy; saveContact(payload: any): Observable<[]>; updateContact(payload: any): Observable<[]>; deleteContact(id: string): Observable<[]>; getContactList(): Observable<[]>; addContactToFavourite(payload: any): Observable<[]>; getFavouritContacts(): Observable<[]>; getRecentCalls(pageIndex?: string, pageSize?: string): Observable<[]>; deleteRecentCallLog(id: string | string[]): Observable<[]>; uploadPhoto(payload: any): Observable<[]>; deletePhoto(id: string): Observable<[]>; toggleCoutryCodeToast(val: any): Observable<[]>; getToNumber(dialledNo: string, isoCode: string): Observable<[]>; private trackIncomingCall; getIncomingCallById(id: any): any; prepareDevice2ForIncomingCall(): void; onConcurrentCallAccepted(acceptedCall: any): void; releaseConcurrentCallDevice(callSid: string): void; teardownSpareDevicesIfIdle(): void; destroyDevice2(): void; isIncomingMuted: boolean; applyIncomingMute(): void; setIncomingMuted(muted: boolean): void; addIncomingParticipant(participantId: string, conferenceId: string): Observable<[]>; connect(data?: any): any; static ɵfac: i0.ɵɵFactoryDeclaration; static ɵprov: i0.ɵɵInjectableDeclaration; }