@flashphoner/sfusdk 2.0.278 → 2.0.280

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (264) hide show
  1. package/dist/client.version +1 -1
  2. package/dist/sdk/constants.d.ts +209 -38
  3. package/dist/sdk/constants.js +164 -14
  4. package/dist/sdk/constants.js.map +1 -1
  5. package/dist/sdk/room-extended.d.ts +154 -0
  6. package/dist/sdk/room-extended.js +154 -0
  7. package/dist/sdk/room-extended.js.map +1 -1
  8. package/dist/sdk/room.d.ts +41 -0
  9. package/dist/sdk/room.js +41 -0
  10. package/dist/sdk/room.js.map +1 -1
  11. package/dist/sdk/sfu-extended.d.ts +586 -96
  12. package/dist/sdk/sfu-extended.js +785 -247
  13. package/dist/sdk/sfu-extended.js.map +1 -1
  14. package/docs/.nojekyll +1 -0
  15. package/docs/assets/highlight.css +78 -0
  16. package/docs/assets/icons.js +15 -0
  17. package/docs/assets/icons.svg +1 -0
  18. package/docs/assets/main.js +59 -0
  19. package/docs/assets/navigation.js +1 -0
  20. package/docs/assets/search.js +1 -0
  21. package/docs/assets/style.css +1412 -0
  22. package/docs/classes/BitrateTest.BitrateTest.html +11 -0
  23. package/docs/classes/BitrateTest.PacedSender.html +13 -0
  24. package/docs/classes/connection.Connection.html +15 -0
  25. package/docs/classes/logger.default.html +14 -0
  26. package/docs/classes/notifier.Notifier.html +7 -0
  27. package/docs/classes/reset_password_handler.ResetPasswordHandler.html +4 -0
  28. package/docs/classes/room.Room.html +73 -0
  29. package/docs/classes/room_extended.RoomExtended.html +172 -0
  30. package/docs/classes/sending_attachments_handler.SendingAttachmentsHandler.html +7 -0
  31. package/docs/classes/sfu.Sfu.html +18 -0
  32. package/docs/classes/sfu_extended.SfuExtended.html +335 -0
  33. package/docs/classes/webrtc_stats.WebRTCStats.html +11 -0
  34. package/docs/enums/constants.AttachmentState.html +5 -0
  35. package/docs/enums/constants.AuthenticationStatus.html +2 -0
  36. package/docs/enums/constants.ChannelSendPolicy.html +4 -0
  37. package/docs/enums/constants.ChatError.html +15 -0
  38. package/docs/enums/constants.ChatReceivePolicy.html +4 -0
  39. package/docs/enums/constants.ChatSectionsError.html +2 -0
  40. package/docs/enums/constants.ChatType.html +3 -0
  41. package/docs/enums/constants.ConferenceType.html +4 -0
  42. package/docs/enums/constants.ConnectionType.html +5 -0
  43. package/docs/enums/constants.ContactError.html +2 -0
  44. package/docs/enums/constants.DeliveryStatus.html +4 -0
  45. package/docs/enums/constants.InternalApi.html +150 -0
  46. package/docs/enums/constants.MeetingSyncEvent.html +21 -0
  47. package/docs/enums/constants.MessageAttachmentMediaType.html +3 -0
  48. package/docs/enums/constants.MessageAttachmentType.html +3 -0
  49. package/docs/enums/constants.MessageState.html +10 -0
  50. package/docs/enums/constants.MessageTargetEntityType.html +4 -0
  51. package/docs/enums/constants.Operations.html +79 -0
  52. package/docs/enums/constants.ParticipantRole.html +4 -0
  53. package/docs/enums/constants.PresenceStatus.html +5 -0
  54. package/docs/enums/constants.RemoteSdpType.html +4 -0
  55. package/docs/enums/constants.RoomError.html +14 -0
  56. package/docs/enums/constants.RoomEvent.html +91 -0
  57. package/docs/enums/constants.RoomState.html +6 -0
  58. package/docs/enums/constants.SfuEvent.html +103 -0
  59. package/docs/enums/constants.SortOrder.html +3 -0
  60. package/docs/enums/constants.SpaceError.html +3 -0
  61. package/docs/enums/constants.SpaceEvent.html +53 -0
  62. package/docs/enums/constants.State.html +7 -0
  63. package/docs/enums/constants.StatsType.html +3 -0
  64. package/docs/enums/constants.TrackType.html +3 -0
  65. package/docs/enums/constants.UserInfoError.html +6 -0
  66. package/docs/enums/constants.UserManagementError.html +11 -0
  67. package/docs/enums/logger.Verbosity.html +6 -0
  68. package/docs/functions/promises.add.html +1 -0
  69. package/docs/functions/promises.reject.html +1 -0
  70. package/docs/functions/promises.resolve.html +1 -0
  71. package/docs/hierarchy.html +1 -0
  72. package/docs/index.html +11 -0
  73. package/docs/interfaces/BitrateTest.BitrateComponentEventBus.html +6 -0
  74. package/docs/interfaces/BitrateTest.BitrateTestController.html +4 -0
  75. package/docs/interfaces/BitrateTest.BitrateTestListener.html +2 -0
  76. package/docs/interfaces/BitrateTest.Sink.html +3 -0
  77. package/docs/interfaces/room.RemoteTrack.html +13 -0
  78. package/docs/modules/BitrateTest.html +8 -0
  79. package/docs/modules/connection.html +2 -0
  80. package/docs/modules/constants.html +203 -0
  81. package/docs/modules/logger.html +4 -0
  82. package/docs/modules/notifier.html +3 -0
  83. package/docs/modules/promises.html +5 -0
  84. package/docs/modules/reset_password_handler.html +2 -0
  85. package/docs/modules/room.html +3 -0
  86. package/docs/modules/room_extended.html +2 -0
  87. package/docs/modules/sending_attachments_handler.html +2 -0
  88. package/docs/modules/sfu.html +2 -0
  89. package/docs/modules/sfu_extended.html +2 -0
  90. package/docs/modules/webrtc_stats.html +2 -0
  91. package/docs/types/BitrateTest.DynamicRate.html +1 -0
  92. package/docs/types/constants.AddRemoveTracks.html +1 -0
  93. package/docs/types/constants.AddRemoveTracksSync.html +1 -0
  94. package/docs/types/constants.AddedRoleToMember.html +1 -0
  95. package/docs/types/constants.Attachment.html +1 -0
  96. package/docs/types/constants.AttachmentInfo.html +1 -0
  97. package/docs/types/constants.AttachmentRequest.html +1 -0
  98. package/docs/types/constants.AttachmentRequestAck.html +1 -0
  99. package/docs/types/constants.AttachmentStatus.html +1 -0
  100. package/docs/types/constants.AttachmentStatusEvent.html +1 -0
  101. package/docs/types/constants.AuthenticationStatusEvent.html +1 -0
  102. package/docs/types/constants.BannedContact.html +1 -0
  103. package/docs/types/constants.BitrateTestStatus.html +1 -0
  104. package/docs/types/constants.BooleanEvent.html +1 -0
  105. package/docs/types/constants.Calendar.html +1 -0
  106. package/docs/types/constants.CalendarEvent.html +1 -0
  107. package/docs/types/constants.CalendarEventEvent.html +1 -0
  108. package/docs/types/constants.Chat.html +1 -0
  109. package/docs/types/constants.ChatLoadedEvent.html +1 -0
  110. package/docs/types/constants.ChatMap.html +1 -0
  111. package/docs/types/constants.ChatMessagesCount.html +1 -0
  112. package/docs/types/constants.ChatMessagesEvent.html +1 -0
  113. package/docs/types/constants.ChatSearchResultEvent.html +1 -0
  114. package/docs/types/constants.ChatsEvent.html +1 -0
  115. package/docs/types/constants.ConnectionDetails.html +1 -0
  116. package/docs/types/constants.ConnectionFailedEvent.html +1 -0
  117. package/docs/types/constants.Contact.html +1 -0
  118. package/docs/types/constants.ContactDeleted.html +1 -0
  119. package/docs/types/constants.ContactUpdated.html +1 -0
  120. package/docs/types/constants.ControlMessage.html +1 -0
  121. package/docs/types/constants.ControlMessageEvent.html +1 -0
  122. package/docs/types/constants.CreatedRoom.html +1 -0
  123. package/docs/types/constants.EvictedFromRoom.html +1 -0
  124. package/docs/types/constants.EvictedSync.html +1 -0
  125. package/docs/types/constants.FirstAndLastChatMessage.html +1 -0
  126. package/docs/types/constants.FragmentedMessage.html +1 -0
  127. package/docs/types/constants.FriendInvite.html +1 -0
  128. package/docs/types/constants.FriendInviteDeleted.html +1 -0
  129. package/docs/types/constants.InternalMessage.html +1 -0
  130. package/docs/types/constants.JoinedRoom.html +1 -0
  131. package/docs/types/constants.JoinedRoomSync.html +1 -0
  132. package/docs/types/constants.LastReadMessageUpdate.html +1 -0
  133. package/docs/types/constants.LastReadMessageUpdated.html +1 -0
  134. package/docs/types/constants.LeftMeetingSync.html +1 -0
  135. package/docs/types/constants.LeftRoom.html +1 -0
  136. package/docs/types/constants.LoadMessagesWithMentionsResult.html +1 -0
  137. package/docs/types/constants.MeetingEndedSync.html +1 -0
  138. package/docs/types/constants.MeetingNameUpdatedSync.html +1 -0
  139. package/docs/types/constants.MeetingsPreviewEvent.html +1 -0
  140. package/docs/types/constants.Message.html +1 -0
  141. package/docs/types/constants.MessageAttachment.html +1 -0
  142. package/docs/types/constants.MessageAttachmentData.html +1 -0
  143. package/docs/types/constants.MessageAttachmentsSearchResult.html +1 -0
  144. package/docs/types/constants.MessageDeleted.html +1 -0
  145. package/docs/types/constants.MessageDeliveryStatus.html +1 -0
  146. package/docs/types/constants.MessageEdited.html +1 -0
  147. package/docs/types/constants.MessageInfo.html +1 -0
  148. package/docs/types/constants.MessageStatus.html +1 -0
  149. package/docs/types/constants.MessageStatusEvent.html +1 -0
  150. package/docs/types/constants.MessageStatusUpdate.html +1 -0
  151. package/docs/types/constants.MessageTargetEntityId.html +1 -0
  152. package/docs/types/constants.MessageWithUploadingAttachments.html +1 -0
  153. package/docs/types/constants.NewChatEvent.html +1 -0
  154. package/docs/types/constants.NewContact.html +1 -0
  155. package/docs/types/constants.NewFriendInvite.html +1 -0
  156. package/docs/types/constants.NewMeeting.html +1 -0
  157. package/docs/types/constants.NewSpaceCategoryEvent.html +1 -0
  158. package/docs/types/constants.NewSpaceChannelEvent.html +1 -0
  159. package/docs/types/constants.NewSpaceEvent.html +1 -0
  160. package/docs/types/constants.NewSpaceRoleAdded.html +1 -0
  161. package/docs/types/constants.NewSpaceThreadEvent.html +1 -0
  162. package/docs/types/constants.OperationFailed.html +1 -0
  163. package/docs/types/constants.OperationFailedEvent.html +1 -0
  164. package/docs/types/constants.Participant.html +1 -0
  165. package/docs/types/constants.ParticipantAVSMutedEvent.html +1 -0
  166. package/docs/types/constants.ParticipantConfigEvent.html +1 -0
  167. package/docs/types/constants.ParticipantRenamed.html +1 -0
  168. package/docs/types/constants.ParticipantsListEvent.html +1 -0
  169. package/docs/types/constants.ParticipantsListSyncEvent.html +1 -0
  170. package/docs/types/constants.PlacedInLobbyEvent.html +1 -0
  171. package/docs/types/constants.PlacedInWaitingRoomEvent.html +1 -0
  172. package/docs/types/constants.PublicChannelsEvent.html +1 -0
  173. package/docs/types/constants.Quality.html +1 -0
  174. package/docs/types/constants.RemoteSdp.html +1 -0
  175. package/docs/types/constants.RemoteSdpInfo.html +1 -0
  176. package/docs/types/constants.RemovedChatEvent.html +1 -0
  177. package/docs/types/constants.RemovedRoleFromMember.html +1 -0
  178. package/docs/types/constants.ResetPasswordRequestStatus.html +1 -0
  179. package/docs/types/constants.RoleAssigned.html +1 -0
  180. package/docs/types/constants.RolePermissionSectionsEvent.html +1 -0
  181. package/docs/types/constants.RolesListEvent.html +1 -0
  182. package/docs/types/constants.RoomAvailable.html +1 -0
  183. package/docs/types/constants.RoomConfigEvent.html +1 -0
  184. package/docs/types/constants.RoomExtendedConfig.html +1 -0
  185. package/docs/types/constants.RoomExtendedParticipantConfig.html +1 -0
  186. package/docs/types/constants.RoomExtendedParticipantsConfig.html +1 -0
  187. package/docs/types/constants.RoomExtendedScreenSharingConfig.html +1 -0
  188. package/docs/types/constants.RoomInfo.html +1 -0
  189. package/docs/types/constants.RoomMessage.html +1 -0
  190. package/docs/types/constants.RoomNameUpdated.html +1 -0
  191. package/docs/types/constants.RoomScreenSharingConfigEvent.html +1 -0
  192. package/docs/types/constants.SFUMeetingParticipantPreview.html +1 -0
  193. package/docs/types/constants.SFUMeetingPreview.html +1 -0
  194. package/docs/types/constants.SfuMessageEvent.html +1 -0
  195. package/docs/types/constants.SfuSpace.html +1 -0
  196. package/docs/types/constants.SfuSpaceCategory.html +1 -0
  197. package/docs/types/constants.SfuSpaceChannel.html +1 -0
  198. package/docs/types/constants.SfuSpaceChannelAccessRights.html +1 -0
  199. package/docs/types/constants.SfuSpaceInvite.html +1 -0
  200. package/docs/types/constants.SfuSpaceMember.html +1 -0
  201. package/docs/types/constants.SfuSpaceRole.html +1 -0
  202. package/docs/types/constants.SfuSpaceRolePermission.html +1 -0
  203. package/docs/types/constants.SfuSpaceRolePermissionSection.html +1 -0
  204. package/docs/types/constants.SfuSpaceThread.html +1 -0
  205. package/docs/types/constants.SfuSpaceUserBan.html +1 -0
  206. package/docs/types/constants.SignUpStatus.html +1 -0
  207. package/docs/types/constants.SpaceCategoryDeleted.html +1 -0
  208. package/docs/types/constants.SpaceCategoryUpdated.html +1 -0
  209. package/docs/types/constants.SpaceChannelDeleted.html +1 -0
  210. package/docs/types/constants.SpaceChannelMoved.html +1 -0
  211. package/docs/types/constants.SpaceChannelUpdated.html +1 -0
  212. package/docs/types/constants.SpaceCreatedEvent.html +1 -0
  213. package/docs/types/constants.SpaceDeletedEvent.html +1 -0
  214. package/docs/types/constants.SpaceInviteCreated.html +1 -0
  215. package/docs/types/constants.SpaceInviteRevoked.html +1 -0
  216. package/docs/types/constants.SpaceOverviewUpdated.html +1 -0
  217. package/docs/types/constants.SpaceRoleDeleted.html +1 -0
  218. package/docs/types/constants.SpaceRoleUpdated.html +1 -0
  219. package/docs/types/constants.SpaceThreadDeleted.html +1 -0
  220. package/docs/types/constants.SpaceThreadUpdated.html +1 -0
  221. package/docs/types/constants.StopScreenSharingEvent.html +1 -0
  222. package/docs/types/constants.StopTrackEvent.html +1 -0
  223. package/docs/types/constants.TracksQualityState.html +1 -0
  224. package/docs/types/constants.UnreadMessagesCountEvent.html +1 -0
  225. package/docs/types/constants.UnreadMessagesCountUpdate.html +1 -0
  226. package/docs/types/constants.UpdateChatEvent.html +1 -0
  227. package/docs/types/constants.UpdateMessagesDeliveryStatusEvent.html +1 -0
  228. package/docs/types/constants.UploadingAttachmentInfo.html +1 -0
  229. package/docs/types/constants.UserCalendarEvent.html +1 -0
  230. package/docs/types/constants.UserContacts.html +1 -0
  231. package/docs/types/constants.UserContactsEvent.html +1 -0
  232. package/docs/types/constants.UserEmail.html +1 -0
  233. package/docs/types/constants.UserHostKey.html +1 -0
  234. package/docs/types/constants.UserHostKeyChangedEvent.html +1 -0
  235. package/docs/types/constants.UserId.html +1 -0
  236. package/docs/types/constants.UserInfo.html +1 -0
  237. package/docs/types/constants.UserInfoChangedEvent.html +1 -0
  238. package/docs/types/constants.UserInfoEvent.html +1 -0
  239. package/docs/types/constants.UserJoinedToSpaceEvent.html +1 -0
  240. package/docs/types/constants.UserLeftSpace.html +1 -0
  241. package/docs/types/constants.UserNickname.html +1 -0
  242. package/docs/types/constants.UserNicknameChangedEvent.html +1 -0
  243. package/docs/types/constants.UserPassword.html +1 -0
  244. package/docs/types/constants.UserPhoneNumber.html +1 -0
  245. package/docs/types/constants.UserPhoneNumberChangedEvent.html +1 -0
  246. package/docs/types/constants.UserPmiSettings.html +1 -0
  247. package/docs/types/constants.UserPresenceStatusUpdated.html +1 -0
  248. package/docs/types/constants.UserRoomsEvent.html +1 -0
  249. package/docs/types/constants.UserSpacesEvent.html +1 -0
  250. package/docs/types/constants.UserSpecificChatInfo.html +1 -0
  251. package/docs/types/constants.UserTimezone.html +1 -0
  252. package/docs/types/constants.UserTimezoneChangedEvent.html +1 -0
  253. package/docs/types/constants.WaitingListEvent.html +1 -0
  254. package/docs/types/constants.WaitingParticipant.html +1 -0
  255. package/docs/types/constants.WaitingRoomUpdate.html +1 -0
  256. package/docs/types/logger.PrefixFunction.html +1 -0
  257. package/docs/types/notifier.NotifierHandler.html +1 -0
  258. package/docs/variables/constants.ATTACHMENT_CHUNK_SIZE.html +1 -0
  259. package/docs/variables/constants.ATTACHMENT_ID_LENGTH.html +1 -0
  260. package/docs/variables/constants.WS_CONNECTION_TIMEOUT.html +1 -0
  261. package/docs/variables/constants.WS_PINGS_MISSING_THRESHOLD.html +1 -0
  262. package/docs/variables/constants.WS_PING_INTERVAL_MS.html +1 -0
  263. package/docs/variables/promises.default.html +1 -0
  264. package/package.json +2 -1
@@ -1,13 +1,27 @@
1
- import { AddedRoleToMember, Attachment, AttachmentRequest, AttachmentStatus, Calendar, CalendarEvent, SfuSpaceCategory, ChannelSendPolicy, Chat, ChatMap, ChatMessagesCount, ChatReceivePolicy, ChatType, ConnectionDetails, FirstAndLastChatMessage, InternalMessage, Invite, LastReadMessageUpdated, LoadMessagesWithMentionsResult, Message, MessageAttachment, MessageAttachmentData, MessageAttachmentMediaType, MessageAttachmentsSearchResult, MessageStatus, RoomInfo, SfuEvent, SignUpStatus, SortOrder, SfuSpace, SfuSpaceRole, State, User, UserEmail, UserHostKey, UserId, UserInfo, UserNickname, UserPassword, UserPhoneNumber, UserPmiSettings, UserSpecificChatInfo, UserTimezone, SfuSpaceInvite, SfuSpaceChannel, SpaceRoleDeleted, RemovedRoleFromMember, SfuSpaceThread, SpaceChannelUpdated, SfuSpaceRolePermissionSection, SpaceRoleUpdated, SpaceChannelMoved, SpaceEvent, MessageTargetEntityType, MessageTargetEntityId, UnreadMessagesCountEvent, MeetingSyncEvent } from "./constants";
1
+ import { AddedRoleToMember, Attachment, AttachmentRequest, AttachmentStatus, Calendar, CalendarEvent, SfuSpaceCategory, ChannelSendPolicy, Chat, ChatMap, ChatMessagesCount, ChatReceivePolicy, ChatType, ConnectionDetails, FirstAndLastChatMessage, InternalMessage, LastReadMessageUpdated, LoadMessagesWithMentionsResult, Message, MessageAttachment, MessageAttachmentData, MessageAttachmentMediaType, MessageAttachmentsSearchResult, MessageStatus, RoomInfo, SfuEvent, SignUpStatus, SortOrder, SfuSpace, SfuSpaceRole, State, UserEmail, UserHostKey, UserId, UserInfo, UserNickname, UserPassword, UserPhoneNumber, UserPmiSettings, UserSpecificChatInfo, UserTimezone, SfuSpaceInvite, SfuSpaceChannel, SpaceRoleDeleted, RemovedRoleFromMember, SfuSpaceThread, SpaceChannelUpdated, SfuSpaceRolePermissionSection, SpaceRoleUpdated, SpaceChannelMoved, SpaceEvent, MessageTargetEntityType, MessageTargetEntityId, MeetingSyncEvent, UnreadMessagesCountEvent, FriendInviteDeleted, UserContacts, PresenceStatus, Contact } from "./constants";
2
2
  import { RoomExtended } from "./room-extended";
3
3
  import { SendingAttachmentsHandler } from "./sending-attachments-handler";
4
4
  import { PrefixFunction, Verbosity } from "./logger";
5
5
  import { ResetPasswordHandler } from "./reset-password-handler";
6
- declare type NotifyUnion = InternalMessage | Message | MessageStatus | AttachmentStatus | Array<User> | Calendar | UserSpecificChatInfo | Invite | User | ChatMap | Chat | ArrayBuffer | CalendarEvent | Attachment | UserInfo | Array<SfuSpace>;
6
+ declare type NotifyUnion = InternalMessage | Message | MessageStatus | AttachmentStatus | Calendar | UserSpecificChatInfo | ChatMap | Chat | ArrayBuffer | CalendarEvent | Attachment | UserInfo | Array<SfuSpace> | Contact;
7
7
  declare type EventUnion = SfuEvent | SpaceEvent | MeetingSyncEvent;
8
8
  export declare class SfuExtended {
9
9
  #private;
10
10
  constructor(logLevel?: Verbosity, prefix?: PrefixFunction, log?: any);
11
+ /**
12
+ * Connects the user to the server.
13
+ *
14
+ * The user can connect using either a username and password or an authToken.
15
+ *
16
+ * Once the connection is successful, the {@link state} will change to {@link State.AUTHENTICATED}.
17
+ * After that, the sfu-sdk will emit the event {@link SfuEvent.CONNECTED}.
18
+ *
19
+ * @param options.username - The user's username (optional if `authToken` is provided).
20
+ * @param options.password - The user's password (optional if `authToken` is provided).
21
+ * @param options.authToken - The authentication token for direct login (optional if `username` and `password` are provided).
22
+ *
23
+ * After successfully connection user contacts will receive an {@link SfuEvent.USER_PRESENCE_STATUS_UPDATED} with {@link UserPresenceStatusUpdated}
24
+ */
11
25
  connect(options: {
12
26
  url: string;
13
27
  username?: UserId;
@@ -27,23 +41,78 @@ export declare class SfuExtended {
27
41
  pmi: string;
28
42
  authToken: string;
29
43
  }>;
44
+ /**
45
+ * Method to disconnect from the server
46
+ *
47
+ * When disconnecting, user leaves all active rooms
48
+ *
49
+ * {@link state} changed to {@link State.DISCONNECTED | DISCONNECTED}
50
+ *
51
+ * After disconnection user contacts will receive an {@link SfuEvent.USER_PRESENCE_STATUS_UPDATED} with {@link UserPresenceStatusUpdated}
52
+ */
53
+ disconnect(): Promise<void>;
54
+ /**
55
+ * Sign up for new users
56
+ *
57
+ * Works in a separate connection
58
+ */
30
59
  signUp(options: {
31
60
  url: string;
32
61
  timeout?: number;
33
62
  email: string;
34
63
  password: string;
35
64
  }): Promise<SignUpStatus>;
65
+ /**
66
+ * Reset password
67
+ *
68
+ * When calls, returns {@link ResetPasswordHandler} then need to call {@link ResetPasswordHandler.resetPassword} to reset the password
69
+ */
36
70
  resetPassword(options: {
37
71
  url: string;
38
72
  timeout?: number;
39
73
  email: string;
40
74
  }): Promise<ResetPasswordHandler>;
75
+ /**
76
+ * Remove user (internal using)
77
+ */
41
78
  removeUser(options: {
42
79
  url: string;
43
80
  timeout?: number;
44
81
  id: string;
45
82
  }): Promise<void>;
83
+ /**
84
+ * Logout from app
85
+ */
46
86
  logout(): Promise<LastReadMessageUpdated>;
87
+ /**
88
+ * Load messages for Direct chat | Channel | Thread
89
+ *
90
+ * @param params.timeFrame to load by start date to end date. For load all messages used with start = 0, end = -1.
91
+ * @param params.boundaries to load messages by specifying a particular message using its date,
92
+ * along with the number of messages above and below it. Upper limit includes message with date dateMark.
93
+ */
94
+ loadMessages(params: {
95
+ targetEntityType: MessageTargetEntityType;
96
+ targetEntityId: MessageTargetEntityId;
97
+ timeFrame?: {
98
+ start: number;
99
+ end: number;
100
+ limit?: number;
101
+ };
102
+ boundaries?: {
103
+ dateMark: number;
104
+ lowerLimit: number;
105
+ upperLimit: number;
106
+ };
107
+ }): Promise<Message[]>;
108
+ /**
109
+ * Send a message to a Direct chat | Channel | Thread
110
+ *
111
+ * Members will receive {@link SfuEvent.MESSAGE} with {@link Message}
112
+ *
113
+ * @param msg.parentId to send reply message
114
+ * @param msg.to to send a private message
115
+ */
47
116
  sendMessage(msg: {
48
117
  body?: string;
49
118
  to?: string;
@@ -53,43 +122,173 @@ export declare class SfuExtended {
53
122
  attachments?: Array<MessageAttachment>;
54
123
  }): Promise<MessageStatus>;
55
124
  /**
56
- * This method is recommended for using to generate attachment id before sending.
57
- * Sending and downloading attachments may not work with other generating options.
58
- * @return string of 36 ASCII characters
59
- **/
60
- static generateAttachmentId(): string;
61
- getSendingAttachmentsHandler(attachments: Array<MessageAttachmentData>, messageId: string): SendingAttachmentsHandler;
62
- getMessageAttachment(attachment: AttachmentRequest): Promise<Attachment>;
125
+ * Edit a message in a Direct chat | Channel | Thread
126
+ *
127
+ * Members will receive {@link SfuEvent.CHAT_MESSAGE_EDITED} with {@link MessageEdited}
128
+ *
129
+ * @param msg.attachmentsToSend to add attachments to sent message
130
+ * @param msg.attachmentIdsToDelete to send a private message
131
+ */
132
+ editMessage(msg: {
133
+ targetEntityType: MessageTargetEntityType;
134
+ targetEntityId: MessageTargetEntityId;
135
+ messageId: string;
136
+ body: string;
137
+ attachmentsToSend?: Array<MessageAttachment>;
138
+ attachmentIdsToDelete?: string[];
139
+ }): Promise<MessageStatus>;
140
+ /**
141
+ * Delete a message in a Direct chat | Channel | Thread
142
+ *
143
+ * The message body will be changed to an empty string.
144
+ * The {@link Message.status} will be changed to {@link MessageState.DELETED}
145
+ *
146
+ * Attachments will be removed.
147
+ *
148
+ * Members will receive {@link SfuEvent.CHAT_MESSAGE_DELETED} with {@link MessageDeleted}
149
+ */
150
+ deleteMessage(msg: {
151
+ targetEntityType: MessageTargetEntityType;
152
+ targetEntityId: MessageTargetEntityId;
153
+ messageId: string;
154
+ }): Promise<void>;
155
+ /**
156
+ * Mark message as read in a Direct chat | Channel | Thread
157
+ *
158
+ * In targetEntity will change lastReadMessageId and lastReadMessageDate
159
+ *
160
+ * All unread messages with a {@link Message.date} earlier than or equal to the marked one will be marked as read.
161
+ * The sender of each message will receive {@link SfuEvent.UPDATE_MESSAGES_DELIVERY_STATUS}
162
+ * with {@link UpdateMessagesDeliveryStatusEvent} and {@link Message.deliveryStatus} will be changed at the server side to {@link DeliveryStatus.READ}.
163
+ */
63
164
  markMessageRead(msg: {
64
165
  id: string;
65
166
  targetEntityType: MessageTargetEntityType;
66
167
  targetEntityId: MessageTargetEntityId;
67
168
  }): Promise<LastReadMessageUpdated>;
169
+ /**
170
+ * Mark message as unread in a Direct chat | Channel | Thread
171
+ *
172
+ * In targetEntity will change lastReadMessageId and lastReadMessageDate. {@link Message.deliveryStatus}
173
+ *
174
+ * {@link Message.deliveryStatus} will not be changed at the server side. Senders will not receive events,
175
+ * however if the previous lastReadMessageDate is earlier than the updated value,
176
+ * the senders of those messages will receive {@link SfuEvent.UPDATE_MESSAGES_DELIVERY_STATUS}
177
+ * with {@link UpdateMessagesDeliveryStatusEvent} and {@link Message.deliveryStatus} will be changed at the server side to {@link DeliveryStatus.READ}.
178
+ */
68
179
  markMessageUnread(msg: {
69
180
  id: string;
70
181
  targetEntityType: MessageTargetEntityType;
71
182
  targetEntityId: MessageTargetEntityId;
72
183
  }): Promise<LastReadMessageUpdated>;
73
- getUserList(): Promise<User[]>;
184
+ /**
185
+ * Get messages count in entity from {@link MessageTargetEntityType}
186
+ */
187
+ getMessagesCount(options: {
188
+ targetEntityType: MessageTargetEntityType;
189
+ targetEntityId: MessageTargetEntityId;
190
+ }): Promise<ChatMessagesCount>;
191
+ /**
192
+ * Get first message and last message in entity from {@link MessageTargetEntityType}
193
+ */
194
+ getFirstAndLastMessage(options: {
195
+ targetEntityType: MessageTargetEntityType;
196
+ targetEntityId: MessageTargetEntityId;
197
+ }): Promise<FirstAndLastChatMessage>;
198
+ /**
199
+ * Get count of unread messages in entity from {@link MessageTargetEntityType}
200
+ */
201
+ getUnreadMessagesCount(options: {
202
+ targetEntityType: MessageTargetEntityType;
203
+ targetEntityId: MessageTargetEntityId;
204
+ }): Promise<UnreadMessagesCountEvent>;
205
+ /**
206
+ * This method is recommended for using to generate attachment id before sending.
207
+ * Sending and downloading attachments may not work with other generating options.
208
+ * @return string of 36 ASCII characters
209
+ **/
210
+ static generateAttachmentId(): string;
211
+ /**
212
+ * Get handler for send or cancel sending attachments
213
+ *
214
+ * Can't cancel sent attachment
215
+ */
216
+ getSendingAttachmentsHandler(attachments: Array<MessageAttachmentData>, messageId: string): SendingAttachmentsHandler;
217
+ /**
218
+ * Load attachment from server
219
+ *
220
+ * On client side should receive {@link SfuEvent.MESSAGE_ATTACHMENT_STATE} with {@link AttachmentStatus} to show progress
221
+ */
222
+ getMessageAttachment(attachment: AttachmentRequest): Promise<Attachment>;
223
+ /**
224
+ * Get user contacts.
225
+ *
226
+ * Returns users who are friends or with whom there are mutual space channels or direct chats, incoming and outgoing friend invites, banned users.
227
+ */
228
+ getContacts(): Promise<UserContacts>;
229
+ /**
230
+ * Add a friend
231
+ *
232
+ * Sends a friend invite.
233
+ * Users will receive {@link SfuEvent.NEW_OUTGOING_FRIEND_INVITE} and {@link SfuEvent.NEW_INCOMING_FRIEND_INVITE} with {@link NewFriendInvite}.
234
+ *
235
+ * If an invite was sent to this user previously, it will be replaced with a new one.
236
+ * Users will receive {@link SfuEvent.OUTGOING_FRIEND_INVITE_DELETED} and {@link SfuEvent.INCOMING_FRIEND_INVITE_DELETED} with {@link FriendInviteDeleted} for previously invite.
237
+ * Users will receive {@link SfuEvent.NEW_OUTGOING_FRIEND_INVITE} and {@link SfuEvent.NEW_INCOMING_FRIEND_INVITE} with {@link NewFriendInvite} for new friend invite.
238
+ *
239
+ * If the user that you are trying to add as a friend has already sent you an invite, sending a counter-invite will automatically add you as friends.
240
+ * Users will receive {@link SfuEvent.OUTGOING_FRIEND_INVITE_DELETED} and {@link SfuEvent.INCOMING_FRIEND_INVITE_DELETED} with {@link FriendInviteDeleted} for invites.
241
+ * Users will receive {@link SfuEvent.CONTACT_UPDATED} with {@link ContactUpdated} if they have mutual space channels or direct chats.
242
+ * Will receive {@link SfuEvent.NEW_CONTACT} with {@link NewContact} if haven't.
243
+ */
244
+ addFriend(user: {
245
+ userId: UserId;
246
+ }): Promise<void>;
247
+ /**
248
+ * Remove friend
249
+ *
250
+ * Users will receive {@link SfuEvent.CONTACT_UPDATED} with {@link ContactUpdated} if they have mutual space channels or direct chats.
251
+ * Will receive {@link SfuEvent.CONTACT_DELETED} with {@link ContactDeleted} if haven't.
252
+ */
253
+ removeFriend(friend: {
254
+ userId: UserId;
255
+ }): Promise<void>;
256
+ /**
257
+ * Revoke friend invite
258
+ *
259
+ * Users will receive {@link SfuEvent.OUTGOING_FRIEND_INVITE_DELETED} and {@link SfuEvent.INCOMING_FRIEND_INVITE_DELETED} with {@link FriendInviteDeleted}.
260
+ */
261
+ revokeFriendInvite(invite: {
262
+ inviteId: string;
263
+ }): Promise<FriendInviteDeleted>;
264
+ /**
265
+ * Accept friend invite
266
+ *
267
+ * Users will receive {@link SfuEvent.OUTGOING_FRIEND_INVITE_DELETED} and {@link SfuEvent.INCOMING_FRIEND_INVITE_DELETED} with {@link FriendInviteDeleted} for invites.
268
+ * Users will receive {@link SfuEvent.CONTACT_UPDATED} with {@link ContactUpdated} if they have mutual space channels or direct chats.
269
+ * Will receive {@link SfuEvent.NEW_CONTACT} with {@link NewContact} if haven't.
270
+ */
271
+ acceptFriendInvite(invite: {
272
+ inviteId: string;
273
+ }): Promise<Contact>;
274
+ /**
275
+ * Reject friend invite
276
+ *
277
+ * Promise will resolve with {@link SfuEvent.INCOMING_FRIEND_INVITE_DELETED} with {@link FriendInviteDeleted}.
278
+ * Outgoing friend invite will not delete.
279
+ */
280
+ rejectFriendInvite(invite: {
281
+ inviteId: string;
282
+ }): Promise<FriendInviteDeleted>;
283
+ /**
284
+ * Get all user calendar events
285
+ */
74
286
  getUserCalendar(): Promise<Calendar>;
75
- getUserPmiSettings(): Promise<UserPmiSettings>;
76
- updateUserPmiSettings(settings: {
77
- allowJoinAtAnyTime: boolean;
78
- useMuteAudioOnJoin: boolean;
79
- useLocalAutoRecord: boolean;
80
- useAccessCode: boolean;
81
- useWaitingRoom: boolean;
82
- useOwnerVideo: boolean;
83
- useParticipantsVideo: boolean;
84
- accessCode: string;
85
- }): Promise<UserPmiSettings>;
86
- getUserInfo(): Promise<UserInfo>;
87
- changeUserEmail(email: UserEmail): Promise<void>;
88
- changeUserPassword(currentPassword: UserPassword, newPassword: UserPassword): Promise<void>;
89
- changeUserNickname(nickname: UserNickname): Promise<void>;
90
- changeUserPhoneNumber(phoneNumber: UserPhoneNumber): Promise<void>;
91
- changeUserHostKey(hostKey: UserHostKey): Promise<void>;
92
- changeUserTimezone(timezone: UserTimezone): Promise<void>;
287
+ /**
288
+ * Add calendar event
289
+ *
290
+ * @param event.usePMI - if true then user PMI settings will be updated and user will receive {@link SfuEvent.UPDATE_USER_PMI_SETTINGS} with {@link UserPmiSettings}
291
+ */
93
292
  addCalendarEvent(event: {
94
293
  title: string;
95
294
  description: string;
@@ -108,6 +307,11 @@ export declare class SfuExtended {
108
307
  removeCalendarEvent(event: {
109
308
  id: string;
110
309
  }): Promise<CalendarEvent>;
310
+ /**
311
+ * Update calendar event
312
+ *
313
+ * @param event.usePMI - if true then user PMI settings will be updated and user will receive {@link SfuEvent.UPDATE_USER_PMI_SETTINGS} with {@link UserPmiSettings}
314
+ */
111
315
  updateCalendarEvent(event: {
112
316
  id: string;
113
317
  title: string;
@@ -124,43 +328,70 @@ export declare class SfuExtended {
124
328
  useMuteAudioOnJoin: boolean;
125
329
  useLocalAutoRecord: boolean;
126
330
  }): Promise<CalendarEvent>;
127
- getUserChats(): Promise<ChatMap>;
331
+ /**
332
+ * Get user pmi settings
333
+ *
334
+ * Used for create meetings
335
+ */
336
+ getUserPmiSettings(): Promise<UserPmiSettings>;
337
+ /**
338
+ * Update user pmi settings
339
+ */
340
+ updateUserPmiSettings(settings: {
341
+ allowJoinAtAnyTime: boolean;
342
+ useMuteAudioOnJoin: boolean;
343
+ useLocalAutoRecord: boolean;
344
+ useAccessCode: boolean;
345
+ useWaitingRoom: boolean;
346
+ useOwnerVideo: boolean;
347
+ useParticipantsVideo: boolean;
348
+ accessCode: string;
349
+ }): Promise<UserPmiSettings>;
350
+ /**
351
+ * Get user info
352
+ *
353
+ * Usually used to display profile info
354
+ */
355
+ getUserInfo(): Promise<UserInfo>;
356
+ /**
357
+ * Change user email
358
+ *
359
+ * Users will receive {@link SfuEvent.CONTACT_UPDATED} with changed email
360
+ */
361
+ changeUserEmail(email: UserEmail): Promise<void>;
362
+ changeUserPassword(currentPassword: UserPassword, newPassword: UserPassword): Promise<void>;
363
+ /**
364
+ * Change user email
365
+ *
366
+ * Users will receive {@link SfuEvent.CONTACT_UPDATED} with changed nickname
367
+ */
368
+ changeUserNickname(nickname: UserNickname): Promise<void>;
369
+ changeUserPhoneNumber(phoneNumber: UserPhoneNumber): Promise<void>;
370
+ changeUserHostKey(hostKey: UserHostKey): Promise<void>;
371
+ changeUserTimezone(timezone: UserTimezone): Promise<void>;
372
+ /**
373
+ * Update presence status
374
+ *
375
+ * Friends and users with whom there are mutual space channels or direct chats will receive {@link SfuEvent.USER_PRESENCE_STATUS_UPDATED} with {@link UserPresenceStatusUpdated}.
376
+ * The selected status is saved and will persist across subsequent connects. It can be retrieved using the {@link getUserInfo}.
377
+ */
378
+ updatePresenceStatus(status: PresenceStatus): Promise<void>;
379
+ /**
380
+ * @deprecated
381
+ */
128
382
  getPublicChannels(): Promise<ChatMap>;
129
- loadChat(chat: {
130
- id: string;
131
- }): Promise<Chat>;
132
- loadMessages(params: {
133
- targetEntityType: MessageTargetEntityType;
134
- targetEntityId: MessageTargetEntityId;
135
- timeFrame?: {
136
- start: number;
137
- end: number;
138
- limit?: number;
139
- };
140
- boundaries?: {
141
- dateMark: number;
142
- lowerLimit: number;
143
- upperLimit: number;
144
- };
145
- }): Promise<Message[]>;
383
+ /**
384
+ * @deprecated
385
+ */
146
386
  searchChatMessages(params: {
147
387
  chatId: string;
148
388
  searchString: string;
149
389
  searchId?: string;
150
390
  limit?: number;
151
391
  }): Promise<Message[]>;
152
- getMessagesCount(options: {
153
- targetEntityType: MessageTargetEntityType;
154
- targetEntityId: MessageTargetEntityId;
155
- }): Promise<ChatMessagesCount>;
156
- getFirstAndLastMessage(options: {
157
- targetEntityType: MessageTargetEntityType;
158
- targetEntityId: MessageTargetEntityId;
159
- }): Promise<FirstAndLastChatMessage>;
160
- getUnreadMessagesCount(options: {
161
- targetEntityType: MessageTargetEntityType;
162
- targetEntityId: MessageTargetEntityId;
163
- }): Promise<UnreadMessagesCountEvent>;
392
+ /**
393
+ * @deprecated
394
+ */
164
395
  searchMessageAttachments(params: {
165
396
  chatId?: string;
166
397
  attachmentsType?: MessageAttachmentMediaType;
@@ -178,6 +409,9 @@ export declare class SfuExtended {
178
409
  searchString?: string;
179
410
  sortOrder: SortOrder;
180
411
  }): Promise<MessageAttachmentsSearchResult>;
412
+ /**
413
+ * @deprecated
414
+ */
181
415
  loadMessagesWithMentions(params: {
182
416
  chatId?: string;
183
417
  userTag: string;
@@ -193,6 +427,24 @@ export declare class SfuExtended {
193
427
  };
194
428
  sortOrder: SortOrder;
195
429
  }): Promise<LoadMessagesWithMentionsResult>;
430
+ /**
431
+ * Get chats.
432
+ *
433
+ * To work with messages in the chat, you need to use {@link MessageTargetEntityType.CHAT}
434
+ */
435
+ getUserChats(): Promise<ChatMap>;
436
+ loadChat(chat: {
437
+ id: string;
438
+ }): Promise<Chat>;
439
+ /**
440
+ * Create chat
441
+ *
442
+ * @param chat.members - these members will receive {@link SfuEvent.NEW_CHAT} with {@link UserSpecificChatInfo}
443
+ * @param chat.type - @deprecated
444
+ * @param chat.channelSendPolicy - @deprecated
445
+ * @param chat.sendPermissionList - @deprecated
446
+ * @param chat.allowedToAddExternalUser - @deprecated
447
+ */
196
448
  createChat(chat: {
197
449
  id?: string;
198
450
  name?: string;
@@ -204,51 +456,55 @@ export declare class SfuExtended {
204
456
  sendPermissionList?: Array<string>;
205
457
  allowedToAddExternalUser?: boolean;
206
458
  }): Promise<UserSpecificChatInfo>;
459
+ /**
460
+ * Delete chat
461
+ *
462
+ * Chat members will receive {@link SfuEvent.CHAT_DELETED} with {@link UserSpecificChatInfo}
463
+ *
464
+ * If a direct meeting was started, it will end, and chat participants will receive {@link MeetingSyncEvent.MEETING_ENDED_SYNC} with {@link MeetingEndedSync}.
465
+ */
207
466
  deleteChat(chat: {
208
467
  id: string;
209
468
  }): Promise<void>;
469
+ /**
470
+ * Update chat
471
+ *
472
+ * Chat members will receive {@link SfuEvent.CHAT_UPDATED} with {@link UserSpecificChatInfo}
473
+ */
210
474
  renameChat(chat: {
211
475
  id: string;
212
476
  name: string;
213
477
  }): Promise<void>;
214
- editMessage(msg: {
215
- targetEntityType: MessageTargetEntityType;
216
- targetEntityId: MessageTargetEntityId;
217
- messageId: string;
218
- body: string;
219
- attachmentsToSend?: Array<MessageAttachment>;
220
- attachmentIdsToDelete?: string[];
221
- }): Promise<MessageStatus>;
222
- deleteMessage(msg: {
223
- targetEntityType: MessageTargetEntityType;
224
- targetEntityId: MessageTargetEntityId;
225
- messageId: string;
226
- }): Promise<void>;
478
+ /**
479
+ * Add a member to chat
480
+ *
481
+ * Chat members will receive {@link SfuEvent.CHAT_UPDATED} with {@link UserSpecificChatInfo}
482
+ *
483
+ * If a direct meeting was started, user will receive {@link SfuEvent.NEW_MEETING} with {@link NewMeeting}.
484
+ *
485
+ * @param chat.member - user will receive {@link SfuEvent.NEW_CHAT} with {@link UserSpecificChatInfo}.
486
+ */
227
487
  addMemberToChat(chat: {
228
488
  id: string;
229
489
  member: UserId;
230
490
  }): Promise<UserSpecificChatInfo>;
491
+ /**
492
+ * Remove a member to chat
493
+ *
494
+ * Chat members will receive {@link SfuEvent.CHAT_UPDATED} with {@link UserSpecificChatInfo}
495
+ *
496
+ * If a direct meeting was started and user was , user will receive {@link MeetingSyncEvent.MEETING_ENDED_SYNC} with {@link MeetingEndedSync}.
497
+ * If the user was a participant in the meeting, users will receive {@link RoomEvent.EVICTED} with {@link EvictedFromRoom}.
498
+ *
499
+ * @param chat.member - user will receive {@link SfuEvent.CHAT_DELETED} with {@link UserSpecificChatInfo}.
500
+ */
231
501
  removeMemberFromChat(chat: {
232
502
  id: string;
233
503
  member: UserId;
234
504
  }): Promise<UserSpecificChatInfo>;
235
- inviteContact(invite: {
236
- to: UserId | UserEmail;
237
- }): Promise<User>;
238
- addContactToFavourites(contact: {
239
- id: UserId;
240
- }): Promise<User>;
241
- removeContactFromFavourites(contact: {
242
- id: UserId;
243
- }): Promise<User>;
244
- confirmContact(invite: {
245
- id: string;
246
- from: UserId;
247
- to: UserId;
248
- }): Promise<User>;
249
- removeContact(contact: {
250
- id: UserId;
251
- }): Promise<User>;
505
+ /**
506
+ * @deprecated
507
+ */
252
508
  updateChannelSendPolicy(channel: {
253
509
  id: string;
254
510
  channelSendPolicy: ChannelSendPolicy;
@@ -257,14 +513,23 @@ export declare class SfuExtended {
257
513
  id: string;
258
514
  chatReceivePolicy: ChatReceivePolicy;
259
515
  }): Promise<UserSpecificChatInfo>;
516
+ /**
517
+ * @deprecated
518
+ */
260
519
  addChannelSendPermissionListMember(channel: {
261
520
  id: string;
262
521
  member: UserId;
263
522
  }): Promise<UserSpecificChatInfo>;
523
+ /**
524
+ * @deprecated
525
+ */
264
526
  removeChannelSendPermissionListMember(channel: {
265
527
  id: string;
266
528
  member: UserId;
267
529
  }): Promise<UserSpecificChatInfo>;
530
+ /**
531
+ * @deprecated
532
+ */
268
533
  updateChatConfiguration(chat: {
269
534
  id: string;
270
535
  type?: ChatType;
@@ -272,17 +537,58 @@ export declare class SfuExtended {
272
537
  sendPermissionList?: Array<string>;
273
538
  allowedToAddExternalUser?: boolean;
274
539
  }): Promise<UserSpecificChatInfo>;
540
+ /**
541
+ * Used to change {@link UserSpecificChatInfo.favourite} to true
542
+ */
275
543
  addChatToFavourites(chat: {
276
544
  id: string;
277
545
  }): Promise<UserSpecificChatInfo>;
546
+ /**
547
+ * Used to change {@link UserSpecificChatInfo.favourite} to false
548
+ */
278
549
  removeChatFromFavourites(chat: {
279
550
  id: string;
280
551
  }): Promise<UserSpecificChatInfo>;
552
+ /**
553
+ * Create room
554
+ *
555
+ * To create with PMI settings, PMI must be specified as the ID.
556
+ *
557
+ * To join, you need to use room.join.
558
+ *
559
+ * @return {@link RoomExtended} with {@link RoomExtended.conferenceType()} that equal {@link ConferenceType.GLOBAL}
560
+ */
281
561
  createRoom(options: {
282
562
  name?: string;
283
563
  pin?: string;
284
564
  id?: string;
285
565
  }): Promise<RoomExtended>;
566
+ /**
567
+ * Create channel meeting
568
+ *
569
+ * {@link Room.id()} will be equal channelId
570
+ *
571
+ * @return {@link RoomExtended} with {@link RoomExtended.conferenceType()} that equal {@link ConferenceType.CHANNEL}
572
+ */
573
+ createChannelMeeting(options: {
574
+ spaceId: string;
575
+ channelId: string;
576
+ }): Promise<RoomExtended>;
577
+ /**
578
+ * Create channel meeting
579
+ *
580
+ * {@link Room.id()} will be equal directChatId
581
+ *
582
+ * @return {@link RoomExtended} with {@link RoomExtended.conferenceType()} that equal {@link ConferenceType.DIRECT}
583
+ */
584
+ createDirectMeeting(options: {
585
+ directChatId: string;
586
+ }): Promise<RoomExtended>;
587
+ /**
588
+ * Creating a room based on a calendar event created using {@link addCalendarEvent}.
589
+ *
590
+ * To join, you need to use room.join()
591
+ */
286
592
  createRoomFromEvent(event: {
287
593
  id: string;
288
594
  title: string;
@@ -299,12 +605,23 @@ export declare class SfuExtended {
299
605
  useMuteAudioOnJoin: boolean;
300
606
  useLocalAutoRecord: boolean;
301
607
  }): Promise<RoomExtended>;
608
+ /**
609
+ * Get running rooms
610
+ */
302
611
  loadActiveRooms(): Promise<RoomInfo[]>;
612
+ /**
613
+ * Check and get an available room.
614
+ *
615
+ * To join, you need to use room.join()
616
+ */
303
617
  roomAvailable(options: {
304
618
  id: string;
305
619
  pin?: string;
306
620
  nickname?: string;
307
621
  }): Promise<RoomExtended>;
622
+ /**
623
+ * Checks for the existence of a running room.
624
+ */
308
625
  roomExists(options: {
309
626
  id: string;
310
627
  pin?: string;
@@ -312,49 +629,120 @@ export declare class SfuExtended {
312
629
  getRoom(options: {
313
630
  id: string;
314
631
  }): RoomExtended;
632
+ /**
633
+ * Get user spaces
634
+ *
635
+ * If channel meetings were started, user will receive {@link SfuEvent.USER_MEETINGS} with {@link MeetingsPreviewEvent}.
636
+ */
315
637
  getUserSpaces(): Promise<SfuSpace[]>;
316
- createChannelMeeting(options: {
317
- spaceId: string;
318
- channelId: string;
319
- }): Promise<RoomExtended>;
320
- createDirectMeeting(options: {
321
- directChatId: string;
322
- }): Promise<RoomExtended>;
638
+ /**
639
+ * The space is created with the default category Category1, default channel Channel1 and default role "@everyone".
640
+ */
323
641
  createSpace(space: {
324
642
  name: string;
325
643
  }): Promise<SfuSpace>;
644
+ /**
645
+ * Update space overview
646
+ *
647
+ * Space members will receive {@link SpaceEvent.SPACE_OVERVIEW_UPDATED} with {@link SpaceOverviewUpdated}
648
+ */
326
649
  updateSpaceOverview(space: {
327
650
  id: string;
328
651
  name: string;
329
652
  }): Promise<void>;
653
+ /**
654
+ * Delete space
655
+ *
656
+ * Space members will receive {@link SpaceEvent.SPACE_DELETED} with {@link SpaceDeletedEvent}
657
+ *
658
+ * If channel meetings were started, users will receive {@link MeetingSyncEvent.MEETING_ENDED_SYNC} with {@link MeetingEndedSync}.
659
+ */
330
660
  deleteSpace(space: {
331
661
  id: string;
332
662
  }): Promise<string>;
663
+ /**
664
+ * Leave space
665
+ *
666
+ * Space members will receive {@link SpaceEvent.USER_LEFT_SPACE} with {@link UserLeftSpace}
667
+ *
668
+ * After receiving the event, it is necessary to remove the user from the list of members in the space and channels/threads.
669
+ *
670
+ * If channel meetings were started, user will receive {@link MeetingSyncEvent.MEETING_ENDED_SYNC} with {@link MeetingEndedSync}.
671
+ * If the user was a participant in the meeting, users will receive {@link RoomEvent.EVICTED} with {@link EvictedFromRoom}.
672
+ */
333
673
  leaveSpace(space: {
334
674
  id: string;
335
675
  }): Promise<void>;
676
+ /**
677
+ * Generate space invite
678
+ *
679
+ * If user has permission to create a space invite - generating invite code with 8 symbols.
680
+ * To create invite link - use 'ws:{serverUrl}:{port}/join-space/inviteCode'
681
+ */
336
682
  generateNewSpaceInvite(options: {
337
683
  spaceId: string;
338
684
  lifespan: number;
339
685
  }): Promise<SfuSpaceInvite>;
686
+ /**
687
+ * Removing the space invite
688
+ */
340
689
  revokeSpaceInvite(options: {
341
690
  spaceId: string;
342
691
  inviteCode: string;
343
692
  }): Promise<SfuSpaceInvite>;
693
+ /**
694
+ * Join space by invite code
695
+ *
696
+ * Space members will receive {@link SpaceEvent.USER_JOINED_TO_SPACE} with {@link UserJoinedToSpaceEvent}.
697
+ * On the client side, this user should be added to the list of participants in public channels and threads.
698
+ *
699
+ * If channel meetings were started, user will receive {@link SfuEvent.USER_MEETINGS} with {@link MeetingsPreviewEvent}.
700
+ */
344
701
  joinSpaceByInviteCode(inviteCode: string): Promise<SfuSpace>;
702
+ /**
703
+ * Create space category
704
+ *
705
+ * For space owner/user that has permission to manage categories
706
+ *
707
+ * Space members will receive {@link SpaceEvent.NEW_SPACE_CATEGORY} with {@link NewSpaceCategoryEvent}
708
+ */
345
709
  createSpaceCategory(category: {
346
710
  spaceId: string;
347
711
  name: string;
348
712
  }): Promise<SfuSpaceCategory>;
713
+ /**
714
+ * Delete space category
715
+ *
716
+ * For space owner/category creator/user that has permission to manage categories
717
+ *
718
+ * Space members will receive {@link SpaceEvent.SPACE_CATEGORY_DELETED} with {@link SpaceCategoryDeleted}
719
+ */
349
720
  deleteSpaceCategory(options: {
350
721
  spaceId: string;
351
722
  categoryId: string;
352
723
  }): Promise<SfuSpaceCategory>;
724
+ /**
725
+ * Delete space category
726
+ *
727
+ * For space owner/category creator/user that has permission to manage categories
728
+ *
729
+ * Space members will receive {@link SpaceEvent.SPACE_CATEGORY_UPDATED} with {@link SpaceCategoryUpdated}
730
+ */
353
731
  updateSpaceCategory(options: {
354
732
  spaceId: string;
355
733
  categoryId: string;
356
734
  name: string;
357
735
  }): Promise<void>;
736
+ /**
737
+ * Create space channel
738
+ *
739
+ * For space owner/user that has permission to manage channels
740
+ *
741
+ * Channel members will receive {@link SpaceEvent.NEW_SPACE_CHANNEL} with {@link NewSpaceChannelEvent}
742
+ *
743
+ * @param channel.roles - used to create a private channel. Array of role ids or empty array.
744
+ * @param channel.members - used to create a private channel. Array of member ids or empty array.
745
+ */
358
746
  createSpaceChannel(channel: {
359
747
  spaceId: string;
360
748
  categoryId?: string;
@@ -363,6 +751,22 @@ export declare class SfuExtended {
363
751
  roles?: Array<string>;
364
752
  members?: Array<string>;
365
753
  }): Promise<SfuSpaceChannel>;
754
+ /**
755
+ * Update space channel
756
+ *
757
+ * For space owner/user that has permission to manage channels
758
+ *
759
+ * Channel members will receive {@link SpaceEvent.SPACE_CHANNEL_UPDATED} with {@link SpaceChannelUpdated}
760
+ * In the private channel added members will receive {@link SpaceEvent.NEW_SPACE_CHANNEL} with {@link NewSpaceChannelEvent}.
761
+ * If the channel meeting was started, added members will receive {@link SfuEvent.NEW_MEETING} with {@link NewMeeting}.
762
+ *
763
+ * In the private channel deleted members will receive {@link SpaceEvent.SPACE_CHANNEL_DELETED} with {@link SpaceChannelDeleted}
764
+ * If the channel meeting was started, deleted members will receive {@link MeetingSyncEvent.MEETING_ENDED_SYNC} with {@link MeetingEndedSync}.
765
+ * If the deleted user was a participant in the meeting, users will receive {@link RoomEvent.EVICTED} with {@link EvictedFromRoom}.
766
+ *
767
+ * @param channel.roles - used to create a private channel. Array of role ids or empty array.
768
+ * @param channel.members - used to create a private channel. Array of member ids or empty array.
769
+ */
366
770
  updateSpaceChannel(channel: {
367
771
  spaceId: string;
368
772
  channelId: string;
@@ -371,32 +775,74 @@ export declare class SfuExtended {
371
775
  roles?: Array<string>;
372
776
  members?: Array<string>;
373
777
  }): Promise<SpaceChannelUpdated>;
778
+ /**
779
+ * Move space channel
780
+ *
781
+ * Channel members will receive {@link SpaceEvent.SPACE_CHANNEL_MOVED} with {@link SpaceChannelMoved}
782
+ *
783
+ * @param channel.categoryId - Specify the identifier of the category to which you want to move the channel, or an empty string to leave the channel uncategorized.
784
+ */
374
785
  moveSpaceChannel(channel: {
375
786
  spaceId: string;
376
787
  categoryId: string;
377
788
  channelId: string;
378
789
  }): Promise<SpaceChannelMoved>;
790
+ /**
791
+ * Delete space channel
792
+ *
793
+ * Channel members will receive {@link SpaceEvent.SPACE_CHANNEL_DELETED} with {@link SpaceChannelDeleted}
794
+ *
795
+ * If the channel meeting was started, members will receive {@link MeetingSyncEvent.MEETING_ENDED_SYNC} with {@link MeetingEndedSync}.
796
+ */
379
797
  deleteSpaceChannel(options: {
380
798
  spaceId: string;
381
799
  channelId: string;
382
800
  }): Promise<void>;
801
+ /**
802
+ * Create space thread
803
+ *
804
+ * Thread members will receive {@link SpaceEvent.NEW_SPACE_THREAD} with {@link NewSpaceThreadEvent}
805
+ */
383
806
  createSpaceThread(thread: {
384
807
  spaceId: string;
385
808
  channelId: string;
386
809
  name: string;
387
810
  isPrivate: boolean;
388
811
  }): Promise<SfuSpaceThread>;
812
+ /**
813
+ * Update space thread
814
+ *
815
+ * For space owner/thread creator
816
+ *
817
+ * Thread members will receive {@link SpaceEvent.SPACE_THREAD_UPDATED} with {@link SpaceThreadUpdated}
818
+ */
389
819
  updateSpaceThread(options: {
390
820
  spaceId: string;
391
821
  channelId: string;
392
822
  threadId: string;
393
823
  name: string;
394
824
  }): Promise<void>;
825
+ /**
826
+ * Delete space thread
827
+ *
828
+ * For space owner/thread creator
829
+ *
830
+ * Thread members will receive {@link SpaceEvent.SPACE_THREAD_DELETED} with {@link SpaceThreadDeleted}
831
+ */
395
832
  deleteSpaceThread(options: {
396
833
  spaceId: string;
397
834
  channelId: string;
398
835
  threadId: string;
399
836
  }): Promise<void>;
837
+ /**
838
+ * Add space role
839
+ *
840
+ * For space owner/user that has permission to manage roles
841
+ *
842
+ * Space members will receive {@link SpaceEvent.NEW_SPACE_ROLE} with {@link NewSpaceRoleAdded}
843
+ *
844
+ * On the client side, a new role must be added to the participants listed in the {@link NewSpaceRoleAdded.members}
845
+ */
400
846
  addSpaceRole(role: {
401
847
  spaceId: string;
402
848
  name: string;
@@ -404,6 +850,22 @@ export declare class SfuExtended {
404
850
  permissions: Array<string>;
405
851
  members: Array<string>;
406
852
  }): Promise<SfuSpaceRole>;
853
+ /**
854
+ * Update space role
855
+ *
856
+ * For space owner/user that has permission to manage roles
857
+ *
858
+ * Space members will receive {@link SpaceEvent.SPACE_ROLE_UPDATED} with {@link SpaceRoleUpdated}
859
+ *
860
+ * On the client side, a new role must be added to the participants listed in the {@link SpaceRoleUpdated.membersForAddRole}
861
+ * and must be removed from participants listed in the {@link SpaceRoleUpdated.membersForDeleteRole}
862
+ *
863
+ * Participants from whom this role will be removed will receive {@link SpaceEvent.SPACE_CHANNEL_DELETED} with {@link SpaceChannelDeleted} for each channel they were part of because of this role.
864
+ *
865
+ * Participants who are assigned this role will receive {@link SpaceEvent.NEW_SPACE_CHANNEL} with {@link NewSpaceChannelEvent} for each channel that has this role in its access rights.
866
+ *
867
+ * Participants who had the role before the update and still have it afterward will receive {@link SpaceEvent.SPACE_CHANNEL_UPDATED} with {@link SpaceChannelUpdated} for each channel that has this role in its access rights.
868
+ */
407
869
  updateSpaceRole(role: {
408
870
  spaceId: string;
409
871
  roleId: string;
@@ -412,22 +874,50 @@ export declare class SfuExtended {
412
874
  permissions: Array<string>;
413
875
  members: Array<string>;
414
876
  }): Promise<SpaceRoleUpdated>;
877
+ /**
878
+ * Delete space role
879
+ *
880
+ * For space owner/user that has permission to manage roles
881
+ *
882
+ * Space members will receive {@link SpaceEvent.SPACE_ROLE_DELETED} with {@link SpaceRoleDeleted}
883
+ *
884
+ * On the client side, should remove this role from channel's access rights and update channel members list
885
+ */
415
886
  deleteSpaceRole(options: {
416
887
  spaceId: string;
417
888
  roleId: string;
418
889
  }): Promise<SpaceRoleDeleted>;
890
+ /**
891
+ * Add space role to member
892
+ *
893
+ * For space owner/user that has permission to manage roles
894
+ *
895
+ * Space members will receive {@link SpaceEvent.ADDED_ROLE_TO_MEMBER} with {@link AddedRoleToMember}
896
+ *
897
+ * Member who are assigned this role will receive {@link SpaceEvent.NEW_SPACE_CHANNEL} with {@link NewSpaceChannelEvent} for each channel that has this role in its access rights.
898
+ * Other members of these channels will receive {@link SpaceEvent.SPACE_CHANNEL_UPDATED} with {@link SpaceChannelUpdated}.
899
+ */
419
900
  addRoleToMember(options: {
420
901
  spaceId: string;
421
902
  roleId: string;
422
903
  memberId: string;
423
904
  }): Promise<AddedRoleToMember>;
905
+ /**
906
+ * Remove space role from member
907
+ *
908
+ * For space owner/user that has permission to manage roles
909
+ *
910
+ * Space members will receive {@link SpaceEvent.REMOVED_ROLE_FROM_MEMBER} with {@link RemovedRoleFromMember}
911
+ *
912
+ * Participant from whom this role will be removed will receive {@link SpaceEvent.SPACE_CHANNEL_DELETED} with {@link SpaceChannelDeleted} for each channel they were part of because of this role.
913
+ * Other members of these channels will receive {@link SpaceEvent.SPACE_CHANNEL_UPDATED} with {@link SpaceChannelUpdated}.
914
+ */
424
915
  removeRoleFromMember(options: {
425
916
  spaceId: string;
426
917
  roleId: string;
427
918
  memberId: string;
428
919
  }): Promise<RemovedRoleFromMember>;
429
920
  getRolePermissions(): Promise<SfuSpaceRolePermissionSection[]>;
430
- disconnect(): Promise<void>;
431
921
  user(): {
432
922
  username: string;
433
923
  email: string;