/** * Enum with all presence levels possible * @public * @enum {string} * @readonly */ declare enum PresenceLevel { /** Offline/Invisible The presence of the contact is not connected */ Offline = "offline", /** Offline/Invisible The presence of the contact is not connected */ Invisible = "invisible", /** The presence of the contact is connected */ Online = "online", /** The presence of the contact is connected on mobile */ OnlineMobile = "online-mobile", /** The presence of the contact is connected but away from a long time */ Away = "away", /** The presence of the contact is in "Do not disturb" state */ Dnd = "dnd", /** The presence of the contact is in "Busy" state */ Busy = "busy", /** The presence of the contact appear offline but to stay still connected. */ Xa = "xa", /** The presence of the contact is not known */ Unknown = "Unknown", /** internal */ Chat = "chat", /** The presence of the contact is an empty string */ EmptyString = "" } /** * Enum with all presence Show possible * @public * @enum {string} * @readonly */ declare enum PresenceShow { /** The presence of the contact is connected */ Online = "online", /** The presence of the contact is disconnected */ Offline = "offline", /** The contact is in "Do not disturb" state */ Dnd = "dnd", /** For current contact only - to appear offline but to stay still connected */ Xa = "xa", /** The contact is away */ Away = "away", /** The Show is Chat */ Chat = "chat", /** The Show is empty string */ EmptyString = "" } /** * Enum with all presence Status possible * @public * @enum {string} * @readonly */ declare enum PresenceStatus { /** The presence of the contact is connected */ Online = "online", /** The presence of the contact is disconnected */ ModeAuto = "mode=auto", /** The contact is connected but away from a long time */ Away = "away", /** The contact is on phone */ Phone = "phone", /** The contact is in an appointment - used only in Presence Calendar context */ Appointment = "appointment", /** The contact is on presentation */ Presentation = "presentation", /** The contact is on mobile phone */ Mobile = "mobile", /** The is Teams presence */ Calendar = "calendar", /** The is Teams presence */ Teams = "teams", /** The status is empty string. */ EmptyString = "" } declare enum PresenceDetails { Inactive = "inactive", Audio = "audio", Video = "video", Sharing = "sharing", Presentation = "presentation", Busy = "busy", OutOfOffice = "out_of_office", Free = "free", EmptyString = "" } /** * Enum with the phone presence (linked to PBX) * @public * @enum {string} * @readonly */ declare enum PresencePhone { /** The PBX service is available - the phone is not currently used */ EVT_CONNECTION_CLEARED = "EVT_CONNECTION_CLEARED", /** The PBX service is available - there is a incoming or outgoing call in ringing state */ EVT_SERVICE_INITIATED = "EVT_SERVICE_INITIATED", /** The PBX service is available - there is a current call */ EVT_ESTABLISHED = "EVT_ESTABLISHED", /** The PBX service is not available / operational so we don't know the presence phone */ NOT_AVAILABLE = "NOT_AVAILABLE" } /** * @public * @class * @name PresenceInfo * @description * Define the base of each presence - Presence Level and Presence Details */ declare class PresenceInfo { get presenceShow(): string; set presenceShow(value: string); private _presenceLevel; private _presenceDetails; private _presenceShow; private _presenceStatus; constructor(presenceLevel?: PresenceLevel, presenceDetails?: PresenceDetails); get presenceLevel(): PresenceLevel | string; set presenceLevel(value: PresenceLevel | string); get presenceDetails(): PresenceDetails; set presenceDetails(value: PresenceDetails); get presenceStatus(): string; set presenceStatus(value: string); toJsonForServer(): { show: string; status: string; }; } declare class PresenceCalendar extends PresenceInfo { private _until; constructor(presenceLevel?: PresenceLevel, presenceStatus?: string, presenceDetails?: PresenceDetails, until?: Date); get until(): Date; set until(value: Date); } /** * @public * @class * @name PresenceRainbow * @description * Represent a contact's presence */ declare class PresenceRainbow extends PresenceInfo { private _resource; private _date; constructor(presenceLevel?: PresenceLevel, presenceStatus?: string, presenceDetails?: PresenceDetails, resource?: string, date?: Date); get resource(): string; set resource(value: string); get date(): Date; set date(value: Date); } export { PresenceCalendar, PresenceInfo, PresenceLevel, PresenceShow, PresenceStatus, PresenceDetails, PresencePhone, PresenceRainbow };