import { Bubble } from "./models/Bubble"; import { Logger } from "./Logger"; import { EventEmitter } from "events"; import { Core } from "../Core"; import { LevelLogs } from "./LevelLogs.js"; export {}; declare class BubblesManager extends LevelLogs { private _xmpp; private _logger; private _eventEmitter; private _imOptions; private _rest; private _presence; private _bubblesservice; private _options; private _s2s; private _useXMPP; private _useS2S; private fibonacciStrategy; private poolBubbleToJoin; private poolBubbleJoinInProgress; private poolBubbleAlreadyJoined; private lockEngine; private lockKey; private nbBubbleAdded; private delay; private MAXBUBBLEJOJNINPROGRESS; private maxBubbleJoinInProgress; private allbubbleserror; static getClassName(): string; getClassName(): string; static getAccessorName(): string; getAccessorName(): string; constructor(_eventEmitter: EventEmitter, _logger: Logger); init(_options: any, _core: Core): Promise; reset(): Promise; lock(fn: any): any; addBubbleToJoin(bubble: any): Promise; removeBubbleToJoin(bubble: any): Promise; getBubbleToJoin(): Promise; treatAllBubblesToJoin(bulkSendPresence?: boolean): Promise; /** * @private * @method _onBubbleaffiliationchanged * @instance * @param {Object} bubble contains information about bubble and user's jid * @description * Method called when affilitation (presence) to a bubble changed */ _onBubbleaffiliationchanged(bubble: any): Promise; /** * @private * @method _onOwnAffiliationChanged * @instance * @param {Object} bubble contains information about bubble and user's jid * @description * Method called when affilitation (presence) to a bubble changed */ _onOwnAffiliationChanged(bubble: any): Promise; /** * @private * @method _onbubblepresencechanged * @instance * @param {Object} bubblepresenceinfo contains information about presence in bubble * @description * Method called when affilitation (presence) to a bubble changed */ _onbubblepresencechanged(bubblepresenceinfo: any): Promise; _onallbubbleserror(error: Error): Promise; addBubbleToJoinInProgress(bubble: any): Promise; removeBubbleToJoinInProgress(bubble: any): Promise; resetBubbleFromJoinInProgressToBubbleToJoin(): Promise; addBubbleAlreadyJoined(bubble: any): Promise; removeBubbleAlreadyJoined(bubble: any): Promise; } export { BubblesManager };