import { Mutex } from 'async-mutex'; import { LOGGER } from '../../Logger/types'; import { IRegistration } from './types'; import { Devices, IDeviceInfo, RegistrationStatus, ServiceData } from '../../common/types'; import { WebexSDK } from '../../SDKConnector/types'; import { LineEmitterCallback } from '../line/types'; export declare class Registration implements IRegistration { private sdkConnector; private webex; private userId; private serviceData; private failback429RetryAttempts; private registrationStatus; private failbackTimer?; private activeMobiusUrl; private rehomingIntervalMin; private rehomingIntervalMax; private mutex; private metricManager; private lineEmitter; private callManager; private deviceInfo; private primaryMobiusUris; private backupMobiusUris; private registerRetry; private reconnectPending; private jwe?; private isCCFlow; private failoverImmediately; private retryAfter; private scheduled429Retry; private webWorker; constructor(webex: WebexSDK, serviceData: ServiceData, mutex: Mutex, lineEmitter: LineEmitterCallback, logLevel: LOGGER, jwe?: string); private getFailoverCacheKey; private saveFailoverState; private clearFailoverState; private resumeFailover; getActiveMobiusUrl(): string; setActiveMobiusUrl(url: string): void; setDeviceInfo(devicesInfo: Devices): void; setMobiusServers(primaryMobiusUris: string[], backupMobiusUris: string[]): void; private deleteRegistration; private postRegistration; private restorePreviousRegistration; private handle404KeepaliveFailure; private handle429Retry; private getRegRetryInterval; private startFailoverTimer; private clearFailbackTimer; private isPrimaryActive; private isFailbackRequired; private getFailbackInterval; private initiateFailback; private startFailbackTimer; private executeFailback; private setIntervalValues; getDeviceInfo(): IDeviceInfo; isDeviceRegistered(): boolean; getStatus(): RegistrationStatus; setStatus(value: RegistrationStatus): void; private restartRegistration; handleConnectionRestoration(retry: boolean): Promise; private restoreRegistrationCallBack; triggerRegistration(): Promise; private attemptRegistrationWithServers; private startKeepaliveTimer; clearKeepaliveTimer(): void; isReconnectPending(): boolean; deregister(): Promise; private isRegRetry; private setRegRetry; private getExistingDevice; reconnectOnFailure(caller: string): Promise; } export declare const createRegistration: (webex: WebexSDK, serviceData: ServiceData, mutex: Mutex, lineEmitter: LineEmitterCallback, logLevel: LOGGER, jwe?: string) => IRegistration; //# sourceMappingURL=register.d.ts.map