import { ConversationType, ILogger, IReceivedMessage, RTCPluginContext } from '@rongcloud/engine'; import { RCCallEndReason } from './enums/RCCallEndReason'; import { RCCallMediaType } from './enums/RCCallMediaType'; export interface IOfflineRecord { channelId: string; conversationType: ConversationType; targetId: string; mediaType: RCCallMediaType; callId: string; inviterId: string; endReason: RCCallEndReason; beginTimestamp: number; endTimestamp: number; duration: number; } /** * 离线通话记录器 */ export declare class OfflineRecorder { private readonly _context; private readonly _logger; private readonly _onRecord; private _messages; private _channelId; private _conversationType; private _targetId; private _mediaType; private _callId; private _callerId; private _inviterId; private _endReason; private _beginTimestamp; private _endTimestamp; constructor(_context: RTCPluginContext, _logger: ILogger, _onRecord: (record: IOfflineRecord) => void); /** * 到 invite | memberModify 结束 * 原因根据己方是否为主叫,主叫为远端未接听 被叫被己端未接听 */ private _doInvite; /** * 到 invite | memberModify 结束 * 原因根据己方是否为主叫,主叫为远端未接听 被叫被己端未接听 */ private _doMemberModify; /** * 用 invite | memberModify 计算的离线记录 */ private _doRinging; /** * 到 accept 说明通话已建立 * 原因默认己方正常挂断 */ private _doAccept; /** * 到 hungup 说明为正常挂断 * 原因取消息体里挂断原因 */ private _doHungup; /** * 只修改通话类型 */ private _doMediaModify; private _canGenRecord; onRecvOfflineMsgs(messages: IReceivedMessage[]): void; } //# sourceMappingURL=OfflineRecorder.d.ts.map