import { callEvents } from '../protocol/events/call-events'; import { errorEvents } from '../protocol/events/error-events'; import { roomEvents } from '../protocol/events/room-events'; import { serverEvents } from '../protocol/events/server-events'; import * as proto from '../protocol/protocol'; import { ArtichokeApi } from './artichoke-api'; import { GroupRoom } from '../rooms/group-room'; import { DirectRoom } from '../rooms/direct-room'; import { Room } from '../rooms/room'; import { GroupCall } from '../calls/group-call'; import { DirectCall } from '../calls/direct-call'; import { Call } from '../calls/call'; import { Observable } from 'rxjs'; import { CallFactory } from '../calls/call-factory'; import { RoomFactory } from '../rooms/room-factory'; import { externalEvents } from '../protocol/events/external-events'; import { LoggerService } from '../logger/logger-service'; export declare class Artichoke { private artichokeApi; private callFactory; private roomFactory; private loggerService; private heartbeatTimeoutMultiplier; private fallbackReconnectDelayMs; /** * Subscribing will connect or preserve another reference to websocket connection. * Reconnection is enabled by default - unsubscribe all observers to disable and disconnect. */ private readonly connection; private heartbeatTimeout?; private reconnectDelayMs?; private readonly serverUnreachableEvent; private readonly disconnectEvent; constructor(artichokeApi: ArtichokeApi, callFactory: CallFactory, roomFactory: RoomFactory, loggerService: LoggerService, heartbeatTimeoutMultiplier: number, fallbackReconnectDelayMs: number); get connection$(): Observable; get error$(): Observable; get serverUnreachable$(): Observable; get disconnect$(): Observable; get callCreated$(): Observable; get callInvitation$(): Observable; get allFollowersRemoved$(): Observable; get assigneeChanged$(): Observable; get assigneeRemoved$(): Observable; get conversationSnoozed$(): Observable; get conversationStatusChanged$(): Observable; get conversationUnsnoozed$(): Observable; get followerAdded$(): Observable; get followerRemoved$(): Observable; get guestProfileUpdated$(): Observable; get lastAdviserTimestampSet$(): Observable; get lastAdviserTimestampRemoved$(): Observable; get meetingCancelled$(): Observable; get meetingRescheduled$(): Observable; get meetingScheduled$(): Observable; get notificationUpcomingMeeting$(): Observable; get presenceUpdated$(): Observable; get typingSent$(): Observable; get customMessage$(): Observable; get unreadCountUpdated$(): Observable; get unreadTotalUpdated$(): Observable; get unassignedCountUpdated$(): Observable; get agentGroupCreated$(): Observable; get agentGroupUpdated$(): Observable; get agentGroupDeleted$(): Observable; get adviserTagGroupsUpdated$(): Observable; get unauthorized$(): Observable; createCall(tracks: ReadonlyArray, users: ReadonlyArray, metadata?: proto.Metadata): Promise; createDirectCall(tracks: ReadonlyArray, peer: proto.ID, timeout?: number, metadata?: proto.Metadata): Promise; getCall(call: proto.ID): Promise; getCalls(): Promise>; getActiveCalls(): Promise>; getCallsWithPendingInvitations(): Promise>; get roomCreated$(): Observable; get roomInvitation$(): Observable; createRoom(name: string): Promise; createDirectRoom(peer: proto.ID, context?: proto.Context): Promise; getRoom(room: proto.ID): Promise; getRooms(): Promise>; getRoster(): Promise>; registerForPushNotifications(pushId: proto.ID): Promise; unregisterFromPushNotifications(pushId: proto.ID): Promise; private wrapCall; private wrapRoom; private handleHelloEvent; private createHeartbeatTimeout; private handleHeartbeatEvent; private handleDisconnect; private clearHeartbeatTimeout; private delayReconnect; private getReconnectDelay; }