/** * @module CallLog */ import { Contact } from '../models/contact.model'; import { User } from "./user.model"; import { CallDirection } from "./call.model"; /** * Call type */ export declare enum CallLogType { /** * A call is considered "webrtc" when it initiated between 2 users using a Rainbow client (Web, Desktop or Mobile) * A "webrtc" call can be considered as an Internet call. */ WEBRTC = "webrtc", /** * A call is considered "telephonic" when the party initiating the call has explicitly used a number (by dialing or selecting it) to reach the other party. */ TELEPHONE = "telephone", /** * A call is considered a "conference" when it involves more than 2 participants. */ CONFERENCE = "conference" } export interface CallLog { /** * The unique identifier of the call log * @readonly */ id: string; /** * The associated user representing the other party (as caller or callee) of the call * @readonly */ user: User; /** * The reading status, indicates if the call log has been marked as read or not. * @readonly */ read: boolean; /** * The call state: * - "answered": Refers to an answered call with a conversation established and this, regardless of direction (Incoming or outgoing). * - "missed": Refers to an unanswered call, regardless of direction (Incoming or outgoing). * - "forwarded": Refers to an incoming call which has been forwarded to the connected user (who was not the initial destination). * @readonly */ state: string; /** * The call type * @readonly */ type: CallLogType; /** * The call direction * @readonly */ direction: CallDirection; /** * The date of the call * @readonly */ date: Date; /** * The call duration in milliseconds * @readonly */ duration: number; /** * The subject of the call * @readonly */ callSubject?: string; /** * The number of the called party * @readonly */ calledNumber: string; /** * The number used to call back a Rainbow user if this one has not shared the private profile fields, including their telephone numbers. * As a result, there is no telephone number visible (so usable) in the user's associated contact object. * This number has been received as call information and is linked to the current call log only. * @readonly */ userCallbackNumber?: string; } /** * @ignore */ export declare class CallLogRB implements CallLog { /** * The unique identifier of the call log * @readonly */ id: string; /** * The user related to the call log * @readonly */ user: Contact; /** * The reading status, indicates if the call log has been marked as read or not. * @readonly */ read: boolean; /** * The call state: * - "answered": Refers to an answered call with a conversation established and this, regardless of direction (Incoming or outgoing). * - "missed": Refers to an unanswered call, regardless of direction (Incoming or outgoing). * - "forwarded": Refers to an incoming call which has been forwarded to the connected user (who was not the initial destination). * @readonly */ state: string; /** * The call type * @readonly */ type: CallLogType; /** * The call direction * @readonly */ direction: CallDirection; /** * The date of the call * @readonly */ date: Date; /** * The call duration * @readonly */ duration: number; /** * The subject of the call * @readonly */ callSubject: string; /** * The number of the called party * @readonly */ calledNumber: string; /** * Call duration in HHMMSS format * @readonly */ durationInfos: string; /** * The number used to call back a Rainbow user if this one has not shared the private profile fields, including their telephone numbers. * As a result, there is no telephone number visible (so usable) in the user's associated contact object. * This number has been received as call information and is linked to the current call log only. * @readonly */ userCallbackNumber: string; /** * Icon used to indicate the direction of the call * @readonly */ svgId: string; /** * Class associated to the icon specified by 'svgId' * @readonly */ svgClass: string; /** * Title defined for the current call log according to its type and direction * @readonly */ title: string; /** * Used for call aggregation management * @readonly */ count: number; /** * Used for call aggregation management * @readonly */ editable: boolean; /** * Used for call aggregation management * @readonly */ isMissed: boolean; /** * Used for call aggregation management * @readonly */ isNotAnswered: boolean; /** * Id of the personal directory contact used for a tempoary name resolution applying only for old call logs for which * the server did not perform this operation. * @readonly */ directoryContactId: string; /** * Indicates if the call log must be ignored by Rainbow Web Client * @readonly */ isIgnoredByUCaaS: boolean; /** * When a name resolution is performed by the server, indicates the directory in which the correspondent's name was found. * @readonly */ identityDirectory: string; /** * When a name resolution is performed by the server, indicates the id of the directory contact. * The contact can come from one of the following directories: Personal directory, Business directory, Microsoft O365 contacts/AD users * @readonly */ identityContactId: string; /** * The "backup" user related to the call log * @readonly */ userOriginBackup: Contact; constructor(id: string, contact: Contact, state: string, duration: number, type: string, read: boolean, date: Date, direction: CallDirection, callSubject: string, ignoredByUCaaS: boolean, calledNumber: string, userCallbackNumber: string); static create(id: string, contact: Contact, state: string, duration: number, type: string, read: boolean, date: Date, direction: CallDirection, callSubject: string, ignoredByUCaaS: boolean, calledNumber?: string, userCallbackNumber?: string): CallLogRB; static getDate(callLog: CallLogRB): number; updateCallLogDisplayInfo(grouped?: boolean): void; } //# sourceMappingURL=callLog.model.d.ts.map