/** * CallsSDK */ import type { IEffect, VideoEffects } from '@vkontakte/calls-video-effects'; import type { EffectVoiceChange } from '@vkontakte/calls-audio-effects'; import type * as Vmoji from '@vkontakte/calls-vmoji'; import BaseLogger from './abstract/BaseLogger'; import { AddParticipantParams } from './abstract/BaseSignaling'; import HangupReason, { HangupReasonData, CustomError } from './classes/HangupReason'; import { MediaTrackKind } from './classes/MediaSource'; import { AudienceModeHandsResponse } from './types/AudienceMode'; import { TransportTopology } from './classes/transport/Transport'; import Api from './default/Api'; import Signaling from './default/Signaling'; import CallDirection from './enums/CallDirection'; import CallType from './enums/CallType'; import ChatRoomEventType from './enums/ChatRoomEventType'; import ConversationFeature from './enums/ConversationFeature'; import ConversationOption from './enums/ConversationOption'; import FatalError from './enums/FatalError'; import HangupType from './enums/HangupType'; import MediaOption from './enums/MediaOption'; import MuteState from './enums/MuteState'; import ParticipantState from './enums/ParticipantState'; import RecordRole from './enums/RecordRole'; import RoomsEventType from './enums/RoomsEventType'; import SignalingCommandType from './enums/SignalingCommandType'; import SignalingConnectionType from './enums/SignalingConnectionType'; import SignalingNotification from './enums/SignalingNotification'; import UserRole from './enums/UserRole'; import UserType from './enums/UserType'; import { DebugMessageType } from './static/Debug'; import { ParticipantStatus } from './static/External'; import { JSONArray, JSONObject, JSONType } from './static/Json'; import { ParamsObject } from './static/Params'; import Utils from './static/Utils'; import WebRTCUtils, { BrowserName, FacingMode } from './static/WebRTCUtils'; import { IAsrData, IAsrStartParams, IAsrStopParams } from './types/Asr'; import { ConversationData } from './types/Conversation'; import { IFeaturesPerRole } from './types/ConversationFeature'; import ConversationParams from './types/ConversationParams'; import ConversationResponse from './types/ConversationResponse'; import { ExternalId, ExternalIdType, ExternalParticipant, ExternalParticipantId, ExternalParticipantListChunk, ExternalParticipantListMarker, ExternalParticipantListMarkers, ExternalUserId } from './types/ExternalId'; import { IFeedbackExternal } from './types/Feedback'; import IceServer from './types/IceServer'; import MediaModifiers from './types/MediaModifiers'; import { IVideoDimentions, MediaSettings } from './types/MediaSettings'; import { IAddMovieParams, IMovieMetaData, IMoviePreview, IOnRemoteMovieData, ISharedMovieInfo, ISharedMovieState, ISharedMovieStateResponse, ISharedMovieStoppedInfo, IUpdateMovieData } from './types/MovieShare'; import MuteStates, { IMuteParticipantInternalParams, IMuteParticipantParams } from './types/MuteStates'; import { IAPIBaseUrl, IApiEnv } from './types/Params'; import { CompositeUserId, IGetParticipantsParameters, OkUserId, ParticipantId, ParticipantListMarker, ParticipantListMarkers, ParticipantListType, ParticipantsStateList, ParticipantStateMapped, ParticipantStateData, ParticipantStateDataKey, ParticipantStateDataValue } from './types/Participant'; import ParticipantLayout, { Layout, RequestKeyFrame, StopStream } from './types/ParticipantLayout'; import { ParticipantListChunkParameters } from './types/ParticipantListChunk'; import ParticipantPriority from './types/ParticipantPriority'; import { MediaType, ParticipantStreamDescription } from './types/ParticipantStreamDescription'; import { IRoomId, Room, RoomParticipantUpdate, Rooms, RoomsUpdate } from './types/Room'; import { ScreenCaptureSettings } from './types/ScreenCaptureSettings'; import SignalingMessage, { GetRoomsSignalingResponse, GetParticipantsSignalingResponse } from './types/SignalingMessage'; import { StatResult } from './types/Statistics'; import { IStartStreamData, IStopStreamData, IPublishStreamData } from './types/Streams'; import { WaitingHallResponse } from './types/WaitingHall'; import { ArrayDequeue } from './utils/ArrayDequeue'; import { ApiExternal } from './default/ApiExternal'; import AuthData from './static/AuthData'; import { VmojiError } from './types/Vmoji'; import { VolumeDetector } from './classes/VolumeDetector'; import { FastStartHandler, FastStartParams } from './types/FastStart'; import { FastJoinHandler, FastJoinParams, FastJoinResponse } from './types/FastJoin'; /** * Информация о текущем браузере */ export declare const browser: { /** * Возвращает все подключенные камеры */ getCameras: typeof WebRTCUtils.getCameras; /** * Возвращает все подключенные микрофоны */ getMicrophones: typeof WebRTCUtils.getMicrophones; /** * Возвращает все подключенные устройства вывода звука */ getOutput: typeof WebRTCUtils.getOutput; /** * Возвращает тип используемой камеры (передняя или задняя) */ getVideoFacingMode: typeof WebRTCUtils.getVideoFacingMode; /** * Есть ли у пользователя камера */ hasCamera: typeof WebRTCUtils.hasCamera; /** * Есть ли у пользователя микрофон */ hasMicrophone: typeof WebRTCUtils.hasMicrophone; /** * Возвращает сохраненную камеру пользователя, если она доступна */ getSavedCamera: typeof WebRTCUtils.getSavedCamera; /** * Возвращает сохраненный микрофон пользователя, если он доступен */ getSavedMicrophone: typeof WebRTCUtils.getSavedMicrophone; /** * Возвращает сохраненное устройство вывода */ getSavedOutput: typeof WebRTCUtils.getSavedOutput; /** * Проверяет получен ли доступ к камере */ hasCameraPermission: typeof WebRTCUtils.hasCameraPermission; /** * Проверяет получен ли доступ к микрофону */ hasMicrophonePermission: typeof WebRTCUtils.hasMicrophonePermission; /** * Проверяет получены ли разрешения, необходимые для текущего звонка */ hasPermissions: typeof WebRTCUtils.hasPermissions; /** * Запрашивает камеру и микрофон пользователя */ getUserMedia: typeof WebRTCUtils.getUserMedia; /** * Запрашивает камеру пользователя */ getUserVideo: typeof WebRTCUtils.getUserVideo; /** * Запрашивает микрофон пользователя */ getUserAudio: typeof WebRTCUtils.getUserAudio; /** * Устанавливает размер видео в стриме */ setResolution: typeof WebRTCUtils.setResolution; /** * Проверяет поддержку WebRTC браузером * * _Метод доступен до инициализации_ */ isBrowserSupported: typeof WebRTCUtils.isBrowserSupported; /** * Проверяет поддержку трансляции экрана браузером * * _Метод доступен до инициализации_ */ isScreenCapturingSupported: typeof WebRTCUtils.isScreenCapturingSupported; /** * Имя операционной системы * * _Метод доступен до инициализации_ */ os: typeof WebRTCUtils.os; /** * Мобильный браузер или нет * * _Метод доступен до инициализации_ */ isMobile: typeof WebRTCUtils.isMobile; /** * Имя браузера * * _Метод доступен до инициализации_ */ browserName: typeof WebRTCUtils.browserName; /** * Версия браузера * * _Метод доступен до инициализации_ */ browserVersion: typeof WebRTCUtils.browserVersion; /** * Если браузер основан на хроме - возвращает версию * * _Метод доступен до инициализации_ */ baseChromeVersion: typeof WebRTCUtils.baseChromeVersion; /** * Возвращает AudioContext */ getAudioContext: typeof WebRTCUtils.getAudioContext; /** * Браузер поддерживает захват звука при трансляции экрана * * _Метод доступен до инициализации_ */ isAudioShareSupported: typeof WebRTCUtils.isAudioShareSupported; }; /** * Вспомогательные функции */ export declare const utils: { /** * Сравнивает маркеры для постраничного вывода участников звонка */ participantMarkerCompare: typeof Utils.participantMarkerCompare; }; export declare function setLogger(logger: BaseLogger): void; /** * Устанавливает библиотеку видео эффектов * * @param effects Экземпляр класса `VideoEffects` из `@vkontakte/calls-video-effects` */ export declare function setVideoEffects(effects: VideoEffects): void; /** * Устанавливает библиотеку аудио эффектов * * @param effects Экземпляр класса `EffectVoiceChange` из `@vkontakte/calls-audio-effects` */ export declare function setAudioEffects(effects: EffectVoiceChange): void; /** * Устанавливает библиотеку вимоджи * * @param vmoji Экземпляр класса `Vmoji` из `@vkontakte/calls-vmoji` * @param sdk Экземпляр модуля `@vkontakte/calls-sdk`, нужен для проброски дебаг сообщений */ export declare function setVmoji(vmoji: typeof Vmoji, sdk?: Parameters[0] | null, renderingOptions?: Partial, protocolVersion?: Vmoji.AnimojiVersion): void; /** * Инициализирует библиотеку * * Метод должен быть вызван первым до любых других вызовов * * `SDK.browser` будет содержать актуальную информацию об устройствах только после вызова этого метода * * @param params Параметры инициализации */ export declare function init(params: Partial): Promise; /** * Начать звонок другому пользователю * * @param externalId Внешние ID пользователей * @param mediaOptions Нужно ли включать камеру и микрофон * @param payload Дополнительные данные для передачи на сервер * @param joiningAllowed Создать токен комнаты для подключения по ссылке * @param requireAuthToJoin Запретить анонимам подключаться по ссылке (если поддерживается сервером) * @param onlyAdminCanShareMovie Только администратор может включать совметсный просмотр * @param onFastStart Функция для обработки быстрого старта * @param conversationId ID звонка */ export declare function callTo(externalId?: ExternalId | ExternalId[], mediaOptions?: MediaOption[], payload?: string, joiningAllowed?: boolean, requireAuthToJoin?: boolean, onlyAdminCanShareMovie?: boolean, onFastStart?: FastStartHandler, conversationId?: string): Promise; export declare function callInternal(ids: OkUserId[], type: CallType | undefined, mediaOptions: MediaOption[], payload?: string, joiningAllowed?: boolean, requireAuthToJoin?: boolean, onlyAdminCanShareMovie?: boolean, externalIds?: ExternalId[], onFastStart?: FastStartHandler, conversationId?: string): Promise; /** * Обработать пуш о входящем звонке * * Для любого входящего пуша нужно вызвать этот метод. * Если уже есть активный звонок, метод отправит "занято" вызывающему абоненту * * `acceptCall` и `declineCall` будут работать только после вызова `processPush` * * @param conversationId ID звонка * @param conversationParams conversationParams в base64 */ export declare function processPush(conversationId: string, conversationParams?: string): Promise; export declare function processPushInternal(conversationId: string, type?: UserType, peerId?: number, conversationParams?: string, wsEndpoint?: string, userId?: number): Promise; /** * Авторизоваться для совершения звонков * * @param authToken Токен авторизации * @param apiBaseUrl Базовый адрес для API. Если не передан, то не меняет установленный */ export declare function authorize(authToken?: string, apiBaseUrl?: IAPIBaseUrl): Promise; /** * Принять входящий звонок * * @param mediaOptions Нужно ли включать камеру и микрофон */ export declare function acceptCall(mediaOptions?: MediaOption[]): Promise; /** * Отклонить входящий звонок */ export declare function declineCall(): Promise; /** * Присоединиться к активному звонку * * @param conversationId ID звонка * @param mediaOptions Нужно ли включать камеру и микрофон */ export declare function joinCall(conversationId: string, mediaOptions?: MediaOption[]): Promise; export declare function joinCallInternal(conversationId: string, mediaOptions: MediaOption[], chatId?: string): Promise; /** * Присоединиться к звонку по ссылке * * @param joinLink Токен комнаты * @param mediaOptions Нужно ли включать камеру и микрофон * @param anonymToken Токен анонимной авторизации * @param observedIds * @param payload * @param onFastJoin Функция для обработки быстрого присоединения */ export declare function joinCallByLink(joinLink: string, mediaOptions?: MediaOption[], anonymToken?: string, observedIds?: ExternalUserId[], payload?: string, onFastJoin?: FastJoinHandler): Promise; /** * Завершить текущий разговор */ export declare function hangup(): Promise; /** * Добавить собеседника в звонок * * @param externalIds Внешние ID пользователей * @param params Параметры */ export declare function addParticipant(externalIds: ExternalId | ExternalId[], params?: AddParticipantParams): Promise; /** * @deprecated - используйте addParticipant * @param uids * @param params */ export declare function addParticipantInternal(uids: OkUserId[], params?: AddParticipantParams): Promise; /** * Удалить собеседника из звонка * * @param externalId Внешний ID пользователя * @param ban Забанить пользователя */ export declare function removeParticipant(externalId: ExternalId, ban?: boolean): Promise; /** * @deprecated - используйте removeParticipant * @param uid * @param ban */ export declare function removeParticipantInternal(uid: OkUserId, ban?: boolean): Promise; /** * Изменить камеру на фронтальную или заднюю (для мобильных устройств) * * @param kind * @param facingMode */ export declare function changeDevice(kind: 'videoinput', facingMode: FacingMode): Promise; /** * Изменить камеру, микрофон или динамик * * @param kind Тип устройства для изменения (камера/микрофон/динамик) * @param deviceId ID устройства */ export declare function changeDevice(kind: MediaDeviceKind, deviceId: string): Promise; /** * Включить/выключить захват экрана * * @param stateOrSettings * state Включить или выключить захват экрана * settings Параметры захваты экрана */ export declare function captureScreen(stateOrSettings: boolean | ScreenCaptureSettings): Promise; /** * Включить/выключить передачу точек вимоджи * * @param state Включить или выключить */ export declare function captureVmoji(state: boolean): void; /** * Позволяет установить кастомный стрим для видео * например для стрима из canvas, с наложением изображений * * @param stream Стрим * @param isScreen Является ли стрим разновидностью шаринга экрана * @hidden */ export declare function setVideoStream(stream: MediaStream, isScreen?: boolean): Promise; /** * Включить или выключить свою камеру * * @param enabled */ export declare function toggleLocalVideo(enabled: boolean): Promise; /** * Включить или выключить свой микрофон * * @param enabled */ export declare function toggleLocalAudio(enabled: boolean): Promise; /** * Изменяет размеры локального видео * * @param resolution */ export declare function setLocalResolution(resolution: { video: IVideoDimentions; effect?: IVideoDimentions; }): Promise; /** * Изменяет качество отображаемых стримов - чем выше приоритет, тем лучше качество. * Не нужно передавать огромные числа - из приоритетов (0, 1, 2, 3) последний получит максимальное качество, а первый худшее. * Отрицательный приоритет выключит видео. * * @param priorities Список приоритетов * @deprecated Use updateDisplayLayout instead */ export declare function changePriorities(priorities: ParticipantPriority[]): Promise; /** * Изменяет состояния пользователя в звонке (например, "поднять руку" или "отошёл") * * @param state Список состояний в виде ключ-значение. Максимальная длина ключей и значений - 5 символов. Пустые значения будут пропущены * @param externalId Внешний ID пользователя */ export declare function changeParticipantState(state: ParticipantStateData, externalId?: ExternalId): Promise; /** * Ставит звонок на удержание * * @param hold - true/false */ export declare function hold(hold: boolean): Promise; /** * Принудительно опустить руки участников в текущем сессионном зале админа */ export declare function putHandsDown(): Promise; /** * Изменяет лейаут. * Также сообщает серверу каких участников звонка стримить на этот клиент * * @param layout Список приоритетов */ export declare function updateDisplayLayout(layout: ParticipantLayout[]): Promise; /** * Выдать или забрать роли в звонке пользователю * * @param externalId Внешний ID пользователя * @param roles Список ролей * @param revoke Забрать роли */ export declare function grantRoles(externalId: ExternalId, roles: UserRole[], revoke?: boolean): Promise; export declare function grantRolesInternal(uid: OkUserId, deviceIdx: number, roles: UserRole[], revoke?: boolean): Promise; /** * Выключить или выключить микрофон и/или камеру собеседнику (только если есть соответствующая роль) */ export declare function muteParticipant({ externalId, muteStates, requestedMedia, roomId }: IMuteParticipantParams): Promise; export declare function muteParticipantInternal({ uid, muteStates, requestedMedia, deviceIdx, roomId }: IMuteParticipantInternalParams): Promise; /** * Закрепить/открепить выбранного собеседника у всех (только если есть соответствующая роль) * * @param externalId Внешний ID пользователя * @param unpin Открепить * @param roomId Идентификатор комнаты */ export declare function pinParticipant(externalId: ExternalId, unpin?: boolean, roomId?: number | null): Promise; export declare function pinParticipantInternal(uid: OkUserId, unpin?: boolean, deviceIdx?: number, roomId?: number | null): Promise; /** * Устанавливает настройки пользовательского медиа * * @param mediaModifiers */ export declare function setMediaModifiers(mediaModifiers: MediaModifiers): Promise; /** * Автоматическое отключения принимаемых видео-потоков * в условиях плохого соединения * * @param enabled true - включить, false - отключить */ export declare function enableVideoSuspend(enabled: boolean): Promise; /** * Режим, при котором будет предложено включить автоматическое * отключение приёма видео в условиях плохого соединения * * @param enabled true - включить, false - отключить */ export declare function enableVideoSuspendSuggest(enabled: boolean): Promise; /** * Включить/выключить опции звонка * * @param changes */ export declare function changeConversationOptions(changes: { [key in ConversationOption]?: boolean; }): Promise; /** * Отправить сообщение в чат * * @param message Сообщение * @param externalId Внешний ID пользователя (если не указано, отправит всем) */ export declare function chatMessage(message: string, externalId?: ExternalId | null): Promise; export declare function chatMessageInternal(message: string, uid?: OkUserId | null): Promise; /** * Получить историю сообщений чата * * @param count Количество сообщений */ export declare function chatHistory(count?: number): Promise; /** * Отправить произвольные данные собеседнику * * @param data Данные * @param externalId Внешний ID пользователя (если не указано, отправит всем) */ export declare function customData(data: JSONObject, externalId?: ExternalId | null): Promise; export declare function customDataInternal(data: JSONObject, uid?: OkUserId | null, deviceIdx?: number): Promise; /** * Создать токен комнаты для подключения по ссылке * * @param payload Дополнительные данные для передачи на сервер * @param requireAuthToJoin Запретить анонимам подключаться по ссылке (если поддерживается сервером) * @param startConversationParameters Дополнительные параметры для создания звонка (например onlyAdminCanShareMovie) * @param waitForAdmin Включить режим ожидания админа в звонке, в звонок не попасть пока админ не войдет * @param closed создаёт звонок в "завершенном" состоянии. Как когда мы создаём звонок по ссылке, но не заходим туда * @param conversationId передаваемый извне ID звонка * @returns Токен комнаты */ export declare function startConversation(payload?: string, requireAuthToJoin?: boolean, { onlyAdminCanShareMovie, waitForAdmin, closedConversation }?: { onlyAdminCanShareMovie?: boolean | undefined; waitForAdmin?: boolean | undefined; closedConversation?: boolean | undefined; }, conversationId?: string): Promise; /** * Создать токен комнаты в режиме Audience для подключения по ссылке * * @param payload Дополнительные данные для передачи на сервер * @param requireAuthToJoin Запретить анонимам подключаться по ссылке (если поддерживается сервером) * @param startConversationParameters Дополнительные параметры для создания звонка (например onlyAdminCanShareMovie) * @param speakerIds Список внешних ID пользователей, которые будут выступать в роли спикеров * @returns Токен комнаты */ export declare function startAudienceConversation(payload: string | undefined, requireAuthToJoin: boolean | undefined, { onlyAdminCanShareMovie, audioOnly }: { onlyAdminCanShareMovie?: boolean | undefined; audioOnly?: boolean | undefined; } | undefined, speakerIds: ExternalUserId[]): Promise; /** * Создать токен комнаты для подключения по ссылке к существующему звонку * * @returns Токен комнаты */ export declare function createJoinLink(): Promise; /** * Удалить токен комнаты для подключения по ссылке */ export declare function removeJoinLink(): Promise; /** * Получить токен анонимной авторизации для подключения к звонку по ссылке * * @param joinLink Токен комнаты * @param username Имя аниномного пользователя * @returns Токен авторизации */ export declare function getAnonymTokenByLink(joinLink: string, username?: string): Promise; /** * Устанавливает громкость звука собеседников * @param volume Уровень громкости [0..1] */ export declare function setVolume(volume: number): void; /** * Не использовать прямое P2P соединение, чтобы не отправлять в ICE-кандидатах персональные IP-адреса * @param enabled */ export declare function forceRelayPolicy(enabled: boolean): void; /** * Начать трансляцию звонка * @param isRecord Записывать ли трансляцию * @param name Имя видеоролика * @param movieId ID видео * @param privacy * @param groupId * @param roomId */ export declare function startStream(isRecord?: boolean, name?: string | null, movieId?: string | null, privacy?: 'PUBLIC' | 'FRIENDS' | 'DIRECT_LINK', groupId?: string | null, roomId?: number | null): Promise; /** * Завершить трансляцию звонка * @param roomId * @param remove не сохранять запись звонка */ export declare function stopStream(roomId?: number | null, remove?: boolean): Promise; /** * Опубликовать трансляцию звонка * @param roomId */ export declare function publishStream(roomId?: number | null): Promise; /** * Устанавливает роль участника в запись звонка * Если хотя бы у одного участника звонка выставлена роль, то в записи звонка будут * видны только те участники, у кого есть роль. * @param king участник показывается крупно в записи звонка (только один участник имеет такую роль) * @param pawns участник показывается в записи звонка * @param hideParticipantCount скрыть/показать количество невидимых участников * @param roomId комната */ export declare function recordSetConf(king?: ExternalId, pawns?: ExternalId[], hideParticipantCount?: boolean, roomId?: number | null): Promise; /** * Получить информацию о трансляции звонка */ export declare function getStreamInfo(): Promise<{ movieId: any; preview: any; }>; /** * Добавляет видео/лайв в звонок * * @param params */ export declare function addMovie(params: IAddMovieParams): Promise<{ movieId: number; streamType: string; }>; /** * Изменить видео/лайв в звонке * * @param params */ export declare function updateMovie(params: IUpdateMovieData): Promise; /** * Удалить видео/лайв из звонка * * @param movieId Id Ролика */ export declare function removeMovie(movieId: number): Promise; /** * Обновить сессионные залы * @param rooms id в случае обновления сессионного зала * @param assignRandomly рандомно назначить участников залов из свободных в соответствии с participantCount */ export declare function updateRooms(rooms: Partial[], assignRandomly?: boolean): Promise; /** * Активировать сессионные залы * @param roomIds * @param deactivate */ export declare function activateRooms(roomIds: number[], deactivate: boolean): Promise; /** * Cменить сессионный зал * @param toRoomId * @param externalId */ export declare function switchRoom(toRoomId?: number | null, externalId?: ExternalId | null): Promise; /** * Удалить сессионные залы * @param roomIds */ export declare function removeRooms(roomIds: number[]): Promise; /** * Устанавливает интервал обновления статистики и вызова `onStatistics` * * @param value Значение в миллисекундах */ export declare function setStatisticsInterval(value: number): void; /** * Включить режим отладки * * @param enabled */ export declare function debug(enabled: boolean): void; /** * Добавить сообщение в отладочный лог * * @param type Тип сообщения * @param args */ export declare function debugMessage(type: DebugMessageType, ...args: any[]): void; /** * Отправляет клиенские логи по conversationId на сервер OK * @example можно посмотреть в examples/anonym/index.html */ export declare function uploadDebugLogs(): Promise; /** * Эффект локального видео * * @param effect */ export declare function changeVideoEffect(effect: IEffect | null): Promise; /** * Эффект локального аудио * * @param effect */ export declare function changeAudioEffect(effects: string[], isPreset?: boolean): Promise; /** * Позволяет установить кастомный стрим для аудио * * @param stream Стрим * @hidden */ export declare function setAudioStream(stream: MediaStream): Promise; /** * Позволяет установить svg аватар для участника звонка * * @param {(string|ArrayBuffer)} svg - svg в незашифрованном (string) * или зашифрованном (ArrayBuffer) виде * @param {(ExternalId|null)} externalId - externalId внешнего участника звонка, * не требуется для текущего участника (текущего пользователя клиента) * @param {(string|null)} customKey - кастомный ключ расшифровки svg, * нужен только в случае присвоения участнику чужого аватара */ export declare function setVmojiSvg(svg: string | ArrayBuffer, externalId?: ExternalId | null, customKey?: string | null): Promise; /** * Позволяет установить цвет фона собственного vmoji * * @param {(RGBTuple|string)} fill - цвет в виде rgb-кортежа или hex-кода */ export declare function setVmojiFill(fill: Vmoji.RGBTuple | string): void; /** * Получить состояние зала ожидания * * @param pageMarker Маркер страницы * @param count Количество элементов на странице * @param backward Получить результат в обратном порядке */ export declare function getWaitingHall(pageMarker?: string | null, count?: number, backward?: boolean): Promise; /** * Получить список слушателей, запросивших повышение в комнате в режиме Audience */ export declare function getAudienceModeHands(): Promise; /** * Разрешить/запретить пользователю войти из зала ожидания/стать спикером комнаты * в режиме Audience * * @param externalId Внешний ID пользователя * @param demote Запретить вход/отобрать права спикера */ export declare function promoteParticipant(externalId?: ExternalId, demote?: boolean): Promise; /** * Запросить/отозвать запрос на получение права стать спикером в комнате в * режиме Audience * * @param demote Отозвать запрос */ export declare function requestPromotion(demote?: boolean): Promise; /** * Согласиться/отказаться стать спикером в комнате в режиме Audience. * * @param reject Отказаться стать спикером */ export declare function acceptPromotion(reject?: boolean): Promise; export declare function getParticipantListChunk(participantListChunkParameters: ParticipantListChunkParameters): Promise; export declare function getParticipants(parameters: IGetParticipantsParameters): Promise; export declare function feedback(key: string): Promise; export declare function userFeedbackStats(userResponse: number, reason?: string, groupCallUsersCount?: number): void; /** * Логирует клиентское событие статистики * * @param eventType Тип события * @param eventData Дополнительные данные события * @param immediatelty Отправить ли событие немедленно */ export declare function logClientEvent(eventType: string, eventData?: Record, immediately?: boolean): void; export declare function enableFeatureForRoles(feature: ConversationFeature, roles: UserRole[]): Promise; /** * Удаляет записи истории звонков * * @param recordIds Идентификаторы записей истории */ export declare function removeHistoryRecords(recordIds: number[]): Promise; /** * Начинает текстовую расшифровку звонка */ export declare function startAsr(params: IAsrStartParams): Promise; /** * Заканчивает текстовую расшифровку звонка */ export declare function stopAsr(params?: IAsrStopParams): Promise; /** * Запрашивает/отключает реал-тайм расшифровку звонка */ export declare function requestAsr(request: boolean): Promise; export declare function startUrlSharing(sharedUrl: string): Promise; export declare function stopUrlSharing(): Promise; export declare function sendTestCommand(name: string, params?: any): void; export declare function startAnalyzingAudio(expectAudio: boolean): void; export declare function stopAnalyzingAudio(): void; /** * Версия SDK */ export declare function version(): string; export type { AddParticipantParams, AudienceModeHandsResponse, BrowserName, CompositeUserId, ConversationData, ConversationParams, ConversationResponse, CustomError, ExternalId, ExternalParticipant, ExternalParticipantListChunk, ExternalParticipantListMarker, ExternalParticipantListMarkers as ExternalParticipantMarkers, ExternalParticipantId, GetParticipantsSignalingResponse, GetRoomsSignalingResponse, HangupReasonData, IApiEnv, IAPIBaseUrl, IAsrStartParams, IAsrStopParams, IAsrData, IceServer, JSONArray, JSONObject, JSONType, Layout, MediaModifiers, MediaSettings, MuteStates, OkUserId, ParamsObject, ParticipantId, ParticipantLayout, ParticipantListMarkers, ParticipantListType, ParticipantPriority, ParticipantsStateList, ParticipantStateData, ParticipantStateDataKey, ParticipantStateMapped, ParticipantStreamDescription, ParticipantListChunkParameters, ParticipantListMarker, RequestKeyFrame, Rooms, IGetParticipantsParameters, ScreenCaptureSettings, SignalingMessage, StatResult, StopStream, WaitingHallResponse, IMovieMetaData, IVideoDimentions, IFeedbackExternal, ISharedMovieInfo, ISharedMovieStoppedInfo, ISharedMovieState, ISharedMovieStateResponse, IAddMovieParams, IOnRemoteMovieData, IMoviePreview, IRoomId, Room, RoomsUpdate, RoomParticipantUpdate, IUpdateMovieData, IFeaturesPerRole, IMuteParticipantParams, IMuteParticipantInternalParams, IStartStreamData, IStopStreamData, IPublishStreamData, VmojiError, FastStartHandler, FastStartParams, FastJoinHandler, FastJoinParams, FastJoinResponse, }; export { Api, AuthData, BaseLogger, CallDirection, CallType, ChatRoomEventType, ConversationOption, DebugMessageType, ExternalIdType, FacingMode, FatalError, HangupReason, HangupType, MediaOption, MediaTrackKind, MediaType, MuteState, ParticipantState, ParticipantStateDataValue, ParticipantStatus, RecordRole, Signaling, SignalingCommandType, SignalingConnectionType, SignalingNotification, UserRole, UserType, TransportTopology, RoomsEventType, ConversationFeature, ArrayDequeue, ApiExternal, VolumeDetector, };