import { EventEmitterProxy } from 'events-constructor'; import { IncomingCallStateMachine } from './IncomingCallStateMachine'; import { RTCSession } from '@krivega/jssip'; import { ConnectionManager } from '../ConnectionManager'; import { TEventMap } from './events'; export default class IncomingCallManager extends EventEmitterProxy { readonly stateMachine: IncomingCallStateMachine; private incomingRTCSession?; private readonly connectionManager; constructor(connectionManager: ConnectionManager); get remoteCallerData(): TEventMap['ringing'] | undefined; get isAvailableIncomingCall(): boolean; start(): void; stop(): void; getIncomingRTCSession: () => RTCSession; extractIncomingRTCSession: () => RTCSession; declineToIncomingCall({ statusCode, }?: { statusCode?: number; }): Promise; busyIncomingCall(): Promise; private subscribe; private unsubscribe; private readonly handleNewRTCSession; private setIncomingSession; private removeIncomingSession; }