import BaseApi, { ClientEvent, ClientStats, LogItem } from '../abstract/BaseApi'; import CallType from '../enums/CallType'; import HangupType from '../enums/HangupType'; import ConversationParams from '../types/ConversationParams'; import ConversationResponse from '../types/ConversationResponse'; import { ExternalId, ExternalParticipantId, ExternalUserId } from '../types/ExternalId'; import { CompositeUserId, OkUserId, ParticipantId } from '../types/Participant'; export default class Api extends BaseApi { private _userId; private _uuid; private _externalUidsCache; private _decorativeIdToInitialId; private _initialIdToDecorativeId; private _callUnsafe; protected _call(method: string, data?: any, noSession?: boolean): Promise; userId(participantId: ParticipantId): Promise; authorize(): Promise; log(items: LogItem[]): void; logClientStats(items: ClientStats[]): void; logClientEvents(items: ClientEvent[]): void; uploadDebugLogs(conversationId: string, startTime: number, endTime: number, log: string): Promise; joinConversation(conversationId: string, isVideo?: boolean, chatId?: string): Promise; createConversation(conversationId: string, payload?: string, requireAuthToJoin?: boolean, { onlyAdminCanShareMovie, audienceMode, audioOnly, waitForAdmin, closedConversation, }?: { onlyAdminCanShareMovie?: boolean; audienceMode?: boolean; audioOnly?: boolean; waitForAdmin?: boolean; closedConversation?: boolean; }, speakerIds?: OkUserId[]): Promise; startConversation(conversationId: string, ids?: OkUserId[], type?: CallType, isVideo?: boolean, payload?: string, joiningAllowed?: boolean, requireAuthToJoin?: boolean, { onlyAdminCanShareMovie, waitForAdmin }?: { onlyAdminCanShareMovie?: boolean; waitForAdmin?: boolean; }, externalIds?: ExternalId[]): Promise; protected _ensureUuid(): void; deviceId(): string; private _preareStartConversationData; private _startConversation; createJoinLink(conversationId: string): Promise<{ join_link: string; }>; removeJoinLink(conversationId: string): Promise<{ success: boolean; }>; getAnonymTokenByLink(joinLink: string, username?: string): Promise; joinConversationByLink(joinLink: string, isVideo?: boolean, observedIds?: ExternalUserId[], payload?: string): Promise; /** * NB: Не сохраняет порядок возвращаемых ID * Этот метод принимает именно ExternalId, т.к. для OkUserId не принципиально наличие deviceIdx * @hidden */ getOkIdsByExternalIds(externalIds: ExternalId[]): Promise; getParticipantIdsByExternalIds(externalIds: ExternalId[]): Promise>; /** * NB: Не сохраняет порядок возвращаемых ID * @hidden */ getExternalIdsByOkIds(uids: OkUserId[]): Promise; getCachedOkIdByExternalId(externalId: ExternalId): ParticipantId | null; cacheExternalId(participantId: OkUserId | CompositeUserId | ParticipantId, externalId: ExternalParticipantId): void; mapDecorativeId(decorativeId: OkUserId | CompositeUserId | ParticipantId, initialId: OkUserId | CompositeUserId | ParticipantId): void; unmapDecorativeId(initialId: OkUserId | CompositeUserId | ParticipantId): void; getDecorativeIdByInitialId(initialId: OkUserId | CompositeUserId | ParticipantId): OkUserId | undefined; replaceByInitialIdIdIfExists(id: OkUserId | CompositeUserId | ParticipantId): OkUserId; getConversationParams(conversationId?: string): Promise; getUserId(): OkUserId | null; setUserId(userId: OkUserId): void; hangupConversation(conversationId: string, reason?: HangupType): void; sendUserFeedbackStats(conversationId: string, userResponse: number, reason?: string, groupCallUsersCount?: number): void; removeHistoryRecords(recordIds: number[]): Promise; cleanup(): void; private _getExternalIdsByOkIds; getServerTime(): Promise; }