import { ApplicationCall } from "./call/ApplicationCall"; import { RoomCall } from "./call/RoomCall"; import { PhoneCall } from "./call/PhoneCall"; import { PhoneCallOptions } from "./call/options/PhoneCallOptions"; import { WebrtcCall } from "./call/WebrtcCall"; import { WebrtcCallOptions } from "./call/options/WebrtcCallOptions"; import { ViberCallOptions } from "./call/options/ViberCallOptions"; import { ViberCall } from "./call/ViberCall"; import { RoomCallOptions } from "./call/options/RoomCallOptions"; import { ApplicationCallOptions } from "./call/options/ApplicationCallOptions"; import { InfobipRTC } from "./InfobipRTC"; import { User } from "./call/User"; import { AnyInfobipRTCEvent } from "./event/InfobipRTCEvents"; import { InfobipRTCEventHandlers } from "./event/InfobipRTCEventHandlers"; export declare class DefaultInfobipRTC implements InfobipRTC { private token; private rtcOptions; private static IDENTITY_PATTERN; private static CONFERENCE_ID_PATTERN; private static PHONE_NUMBER_PATTERN; private readonly gateway; private readonly eventEmitter; private readonly apiEventEmitter; private readonly device; private readonly rtcConfig; private readonly currentUser; private readonly logger; private apiUrl; private callActive; constructor(token: string, rtcOptions?: any); connect(): void; disconnect(): void; connectedUser(): User; on(name: AnyInfobipRTCEvent, handler: InfobipRTCEventHandlers.Any): void; callApplication(callsConfigurationId: string, options?: ApplicationCallOptions): ApplicationCall; callWebrtc(identity: string, options?: WebrtcCallOptions): WebrtcCall; callPhone(phoneNumber: string, phoneCallOptions?: PhoneCallOptions): PhoneCall; callViber(phoneNumber: string, from: string, viberCallOptions?: ViberCallOptions): ViberCall; joinRoom(roomName: string, options?: RoomCallOptions): RoomCall; debug(debug: boolean): void; getAudioInputDevices(): Promise; setAudioInputDevice(deviceId: string): void; unsetAudioInputDevice(deviceId: string): void; getAudioOutputDevices(): Promise; getVideoInputDevices(): Promise; setVideoInputDevice(deviceId: string): void; unsetVideoInputDevice(deviceId: string): void; private validateCallsConfigurationId; private validateStatus; private configureEventHandlers; private handleRegistered; private handleIncomingApplicationCall; private ackEvent; private hasRemoteVideo; private handleHangup; private handleReconnecting; private handleReconnected; private handleConnectionClosed; private handleDisconnect; private isWebRTCSupported; private getUserFromToken; private checkIfAnythingIsActive; }