import { Contact } from "./Contact"; export {}; interface CallbackOneParam { (param1: T1): T2; } declare class InitialPresence { private _initPresencePromise; private _initPresencePromiseResolve; private _initPresenceAck; private _initPresenceInterval; constructor(); get initPresencePromise(): Promise; set initPresencePromise(value: Promise); get initPresencePromiseResolve(): CallbackOneParam; set initPresencePromiseResolve(value: CallbackOneParam); get initPresenceAck(): boolean; set initPresenceAck(value: boolean); get initPresenceInterval(): any; set initPresenceInterval(value: any); } /** * @class * @name Bubble * @public * @description * This class represents a Bubble.
* A bubble is an interaction between several participants based on IM media. A bubble is described by a name and a description.
* Like for one-to-one conversation, A conversation within a bubble never ends and all interactions done can be retrieved.
*/ declare class Bubble { get initialPresence(): InitialPresence; set initialPresence(value: InitialPresence); id: any; name: any; nameForLogs: string; topic: any; jid: any; creator: any; history: any; users: any; creationDate: any; visibility: any; customData: any; isActive: any; conference: any; disableNotifications: boolean; lastAvatarUpdateDate: null; guestEmails: any[]; activeUsersCounter: number; avatar: string; organizers: Array; members: Array; containerId: string; containerName: string; status: string; private _initialPresence; isAlertNotificationEnabled: boolean; isOwnedByGroup: boolean; isActiveLastChange: boolean; processId: any; confEndpoints: string; allNames: Array; participantNames: Array; hasLobby: boolean; isOwnedByRoomAdmin: boolean; managedRoomPolicy: any; companyId: string; static RoomUserStatus: { INVITED: string; ACCEPTED: string; UNSUBSCRIBED: string; REJECTED: string; DELETED: string; }; autoRegister: any; lastActivityDate: any; /** * @private * @readonly * @enum {number} */ static Type: { PRIVATE: number; PUBLIC: number; }; /** * The privilege of the Contact in the Bubble. * @public * @readonly * @enum {String} */ static Privilege: { /** User level */ USER: string; /** Moderator level */ MODERATOR: string; /** Guest level */ GUEST: string; }; /** * Behaviour of the Bubble's History * @public * @readonly * @enum {String} */ static History: { /** Full bubble history is accessible for newcomers */ ALL: string; /** No history is accessible for newcomers, only new messages posted */ NONE: string; }; /** * @description the creator (owner ) of the bubble. */ ownerContact: Contact; owner: boolean; autoAcceptInvitation: boolean; tags: Array; constructor(_id: any, _name: any, _topic: any, _jid: any, _creator: any, _history: any, _users: any, _creationDate: any, _visibility: any, _customData: any, _isActive: any, _conference: any, _disableNotifications: boolean, _lastAvatarUpdateDate: any, _guestEmails: [], _activeUsersCounter: number, _autoRegister: boolean, _lastActivityDate: any, _autoAcceptInvitation: boolean, _tags: Array, _avatarDomain: string, _containerId: string, _containerName: string, _isAlertNotificationEnabled: boolean, _isOwnedByGroup: boolean, _isActiveLastChange: boolean, _processId: any, _confEndpoints: string, _allNames: Array, _participantNames: Array); /** * Method helper to know if room is a meeting * @private */ isMeetingBubble(): boolean; getStatusForUser(userId: any): any; setUsers(_users: any): void; get getNameForLogs(): string; updateBubble(data: any, contactsService: any): Promise; /** * @function * @public * @name BubbleFactory * @description * This class is used to create a bubble from data object */ static BubbleFactory(avatarDomain: any, contactsService: any): (data: any) => Promise; getBubbleLogInfos(): string; } declare function getBubbleLogInfos(bubble: Bubble): string; export { Bubble, InitialPresence, getBubbleLogInfos }; declare const _default: { Bubble: typeof Bubble; InitialPresence: typeof InitialPresence; getBubbleLogInfos: typeof getBubbleLogInfos; }; export default _default;