import * as wireEntities from '../protocol/wire-entities'; import * as proto from '../protocol/protocol'; import { DomainEvent } from '../protocol/events/domain-event'; import { roomEvents } from '../protocol/events/room-events'; import { serverEvents } from '../protocol/events/server-events'; import { CallReason } from '../calls/call-reason'; import { chatEvents } from '../protocol/events/chat-events'; import { callEvents } from '../protocol/events/call-events'; import { Observable } from 'rxjs'; import { WebsocketClient } from '../http/websocket-client'; import { HttpClient } from '../http/http-client'; export declare class ArtichokeApi { sessionId: proto.ID; private websocketClient; private httpClient; private readonly callPath; private readonly roomPath; private readonly pushNotificationsPath; private readonly domainEvent; private readonly connectionEvent; constructor(sessionId: proto.ID, websocketClient: WebsocketClient, httpClient: HttpClient); get connection$(): Observable; get domainEvent$(): Observable; sendDescription(callId: proto.ID, sessionId: proto.ID, description: RTCSessionDescriptionInit): void; sendCandidate(callId: proto.ID, sessionId: proto.ID, candidate: RTCIceCandidate): void; createCall(sessionIds: ReadonlyArray, metadata?: proto.Metadata): Promise; createDirectCall(sessionId: proto.ID, timeout?: number, metadata?: proto.Metadata): Promise; getCall(callId: proto.ID): Promise; getCalls(): Promise>; getActiveCalls(): Promise>; getCallsWithPendingInvitations(): Promise>; getCallHistory(callId: proto.ID): Promise>; getCallUsers(callId: proto.ID): Promise>; answerCall(callId: proto.ID): Promise; rejectCall(callId: proto.ID, reason: CallReason): Promise; joinCall(callId: proto.ID): Promise; pullCall(callId: proto.ID): Promise; leaveCall(callId: proto.ID, reason: CallReason): Promise; inviteToCall(callId: proto.ID, sessionId: proto.ID): Promise; createRoom(name: string): Promise; createDirectRoom(sessionId: proto.ID, context?: proto.Context): Promise; getRoom(roomId: proto.ID): Promise; getRooms(): Promise>; getRoster(): Promise>; getRoomUsers(roomId: proto.ID): Promise>; getRoomHistoryLast(roomId: proto.ID, limit: number, filter?: proto.HistoryFilter): Promise>; getRoomHistoryPage(roomId: proto.ID, limit: number, timestamp?: number, filter?: proto.HistoryFilter): Promise>; joinRoom(roomId: proto.ID): Promise; leaveRoom(roomId: proto.ID): Promise; inviteToRoom(roomId: proto.ID, sessionId: proto.ID): Promise; sendMessage(roomId: proto.ID, body: string, context?: proto.Context): Observable; sendCustom(roomId: proto.ID, body: string, subtag: string, context: proto.Context): Observable; sendTyping(roomId: proto.ID, body?: string): void; setMark(roomId: proto.ID, timestamp: proto.Timestamp): void; setAudioToggle(callId: proto.ID, enabled: boolean, timestamp: proto.Timestamp): void; setVideoToggle(callId: proto.ID, enabled: boolean, timestamp: proto.Timestamp, content?: proto.VideoContentType): void; setDelivered(roomId: proto.ID, messageId: proto.ID, timestamp: proto.Timestamp): void; registerForPushNotifications(pushId: proto.ID): Promise; unregisterFromPushNotifications(pushId: proto.ID): Promise; sendHeartbeat(timestamp: number): void; private handleDomainEvent; }