/// import { EventEmitter } from 'events'; import { PartyStatusCode, ReplyWithTextParams, Session as TelephonySession } from 'ringcentral-call-control/lib/Session'; import { WebPhoneSession } from 'ringcentral-web-phone/lib/session'; export declare enum events { DISCONNECTED = "disconnected", STATUS = "status", RECORDINGS = "recordings", MUTED = "muted", WEBPHONE_SESSION_CONNECTED = "webphoneSessionConnected" } export declare enum directions { OUTBOUND = "Outbound", INBOUND = "Inbound" } export declare class Session extends EventEmitter { private _webphoneSession; private _telephonySession; private _telephonySessionId; private _activeCallId; private _webphoneSessionConnected; private _status; private _sessionId; private _startTime; constructor({ webphoneSession, telephonySession, }: { webphoneSession?: WebPhoneSession; telephonySession?: TelephonySession; }); _onNewWebPhoneSession(): void; _onWebphoneSessionAccepted: (incomingResponse: any) => void; _onWebphoneSessionProgress: (incomingResponse: any) => void; _onWebphoneSessionTerminated: () => void; _cleanWebPhoneSession(): void; _onNewTelephonySession(): void; _cleanTelephonySession(): void; _onTelephonyStatusChange: ({ party }: { party: any; }) => void; _onTelephonyRecordingsEvent: ({ party }: { party: any; }) => void; _onTelephonyMutedEvent: ({ party }: { party: any; }) => void; _setIdsFromWebPhoneSessionHeaders(headers: any): void; setTelephonySession(telephonySession: any): void; setWebphoneSession(webphoneSession: any): void; dispose(): void; get webphoneSession(): WebPhoneSession; get webphoneSessionConnected(): boolean; get telephonySession(): TelephonySession; get telephonySessionId(): string; get sessionId(): string; get id(): string; get activeCallId(): string; get status(): PartyStatusCode; get direction(): any; get party(): any; get otherParties(): any; get recordings(): any; get from(): any; get to(): any; get data(): any; get startTime(): number; hangup(): WebPhoneSession | Promise; hold(): void | Promise; unhold(): void | Promise; toVoicemail(): Promise | Promise; reject({ deviceId }?: { deviceId?: string; }): WebPhoneSession | Promise; answer({ deviceId }?: { deviceId?: string; }): WebPhoneSession | Promise; replyWithMessage(params: ReplyWithTextParams): Promise; forward(forwardNumber: string, acceptOptions?: any, transferOptions?: any): Promise; transfer(transferNumber: string, transferOptions?: any): Promise; warmTransfer(newSession: Session): Promise; park(): Promise; flip({ callFlipId }: { callFlipId: string; }): Promise; mute(): Promise; unmute(): Promise; startRecord({ recordingId }?: { recordingId?: string; }): Promise; stopRecord({ recordingId }?: { recordingId?: string; }): Promise; }