@textrp/briij-js-sdk 41.0.0

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 (1104) hide show
  1. package/CHANGELOG.md +6464 -0
  2. package/LICENSE +177 -0
  3. package/README.md +477 -0
  4. package/lib/@types/AESEncryptedSecretStoragePayload.d.ts +14 -0
  5. package/lib/@types/AESEncryptedSecretStoragePayload.d.ts.map +1 -0
  6. package/lib/@types/AESEncryptedSecretStoragePayload.js +1 -0
  7. package/lib/@types/AESEncryptedSecretStoragePayload.js.map +1 -0
  8. package/lib/@types/IIdentityServerProvider.d.ts +9 -0
  9. package/lib/@types/IIdentityServerProvider.d.ts.map +1 -0
  10. package/lib/@types/IIdentityServerProvider.js +1 -0
  11. package/lib/@types/IIdentityServerProvider.js.map +1 -0
  12. package/lib/@types/PushRules.d.ts +140 -0
  13. package/lib/@types/PushRules.d.ts.map +1 -0
  14. package/lib/@types/PushRules.js +94 -0
  15. package/lib/@types/PushRules.js.map +1 -0
  16. package/lib/@types/another-json.d.js +0 -0
  17. package/lib/@types/another-json.d.js.map +1 -0
  18. package/lib/@types/auth.d.ts +213 -0
  19. package/lib/@types/auth.d.ts.map +1 -0
  20. package/lib/@types/auth.js +107 -0
  21. package/lib/@types/auth.js.map +1 -0
  22. package/lib/@types/beacon.d.ts +106 -0
  23. package/lib/@types/beacon.d.ts.map +1 -0
  24. package/lib/@types/beacon.js +119 -0
  25. package/lib/@types/beacon.js.map +1 -0
  26. package/lib/@types/common.d.ts +10 -0
  27. package/lib/@types/common.d.ts.map +1 -0
  28. package/lib/@types/common.js +1 -0
  29. package/lib/@types/common.js.map +1 -0
  30. package/lib/@types/crypto.d.ts +46 -0
  31. package/lib/@types/crypto.d.ts.map +1 -0
  32. package/lib/@types/crypto.js +1 -0
  33. package/lib/@types/crypto.js.map +1 -0
  34. package/lib/@types/event.d.ts +356 -0
  35. package/lib/@types/event.d.ts.map +1 -0
  36. package/lib/@types/event.js +280 -0
  37. package/lib/@types/event.js.map +1 -0
  38. package/lib/@types/events.d.ts +92 -0
  39. package/lib/@types/events.d.ts.map +1 -0
  40. package/lib/@types/events.js +1 -0
  41. package/lib/@types/events.js.map +1 -0
  42. package/lib/@types/extensible_events.d.ts +98 -0
  43. package/lib/@types/extensible_events.d.ts.map +1 -0
  44. package/lib/@types/extensible_events.js +116 -0
  45. package/lib/@types/extensible_events.js.map +1 -0
  46. package/lib/@types/global.d.js +18 -0
  47. package/lib/@types/global.d.js.map +1 -0
  48. package/lib/@types/local_notifications.d.ts +4 -0
  49. package/lib/@types/local_notifications.d.ts.map +1 -0
  50. package/lib/@types/local_notifications.js +1 -0
  51. package/lib/@types/local_notifications.js.map +1 -0
  52. package/lib/@types/location.d.ts +60 -0
  53. package/lib/@types/location.d.ts.map +1 -0
  54. package/lib/@types/location.js +66 -0
  55. package/lib/@types/location.js.map +1 -0
  56. package/lib/@types/matrix-sdk-crypto-wasm.d.js +1 -0
  57. package/lib/@types/matrix-sdk-crypto-wasm.d.js.map +1 -0
  58. package/lib/@types/media.d.ts +220 -0
  59. package/lib/@types/media.d.ts.map +1 -0
  60. package/lib/@types/media.js +1 -0
  61. package/lib/@types/media.js.map +1 -0
  62. package/lib/@types/membership.d.ts +41 -0
  63. package/lib/@types/membership.d.ts.map +1 -0
  64. package/lib/@types/membership.js +58 -0
  65. package/lib/@types/membership.js.map +1 -0
  66. package/lib/@types/partials.d.ts +72 -0
  67. package/lib/@types/partials.d.ts.map +1 -0
  68. package/lib/@types/partials.js +71 -0
  69. package/lib/@types/partials.js.map +1 -0
  70. package/lib/@types/polls.d.ts +89 -0
  71. package/lib/@types/polls.d.ts.map +1 -0
  72. package/lib/@types/polls.js +86 -0
  73. package/lib/@types/polls.js.map +1 -0
  74. package/lib/@types/read_receipts.d.ts +36 -0
  75. package/lib/@types/read_receipts.d.ts.map +1 -0
  76. package/lib/@types/read_receipts.js +27 -0
  77. package/lib/@types/read_receipts.js.map +1 -0
  78. package/lib/@types/registration.d.ts +85 -0
  79. package/lib/@types/registration.d.ts.map +1 -0
  80. package/lib/@types/registration.js +1 -0
  81. package/lib/@types/registration.js.map +1 -0
  82. package/lib/@types/requests.d.ts +267 -0
  83. package/lib/@types/requests.d.ts.map +1 -0
  84. package/lib/@types/requests.js +42 -0
  85. package/lib/@types/requests.js.map +1 -0
  86. package/lib/@types/search.d.ts +90 -0
  87. package/lib/@types/search.d.ts.map +1 -0
  88. package/lib/@types/search.js +30 -0
  89. package/lib/@types/search.js.map +1 -0
  90. package/lib/@types/signed.d.ts +9 -0
  91. package/lib/@types/signed.d.ts.map +1 -0
  92. package/lib/@types/signed.js +1 -0
  93. package/lib/@types/signed.js.map +1 -0
  94. package/lib/@types/spaces.d.ts +16 -0
  95. package/lib/@types/spaces.d.ts.map +1 -0
  96. package/lib/@types/spaces.js +1 -0
  97. package/lib/@types/spaces.js.map +1 -0
  98. package/lib/@types/state_events.d.ts +121 -0
  99. package/lib/@types/state_events.d.ts.map +1 -0
  100. package/lib/@types/state_events.js +1 -0
  101. package/lib/@types/state_events.js.map +1 -0
  102. package/lib/@types/synapse.d.ts +19 -0
  103. package/lib/@types/synapse.d.ts.map +1 -0
  104. package/lib/@types/synapse.js +1 -0
  105. package/lib/@types/synapse.js.map +1 -0
  106. package/lib/@types/sync.d.ts +8 -0
  107. package/lib/@types/sync.d.ts.map +1 -0
  108. package/lib/@types/sync.js +25 -0
  109. package/lib/@types/sync.js.map +1 -0
  110. package/lib/@types/threepids.d.ts +12 -0
  111. package/lib/@types/threepids.d.ts.map +1 -0
  112. package/lib/@types/threepids.js +24 -0
  113. package/lib/@types/threepids.js.map +1 -0
  114. package/lib/@types/topic.d.ts +55 -0
  115. package/lib/@types/topic.d.ts.map +1 -0
  116. package/lib/@types/topic.js +62 -0
  117. package/lib/@types/topic.js.map +1 -0
  118. package/lib/@types/uia.d.ts +8 -0
  119. package/lib/@types/uia.d.ts.map +1 -0
  120. package/lib/@types/uia.js +1 -0
  121. package/lib/@types/uia.js.map +1 -0
  122. package/lib/NamespacedValue.d.ts +32 -0
  123. package/lib/NamespacedValue.d.ts.map +1 -0
  124. package/lib/NamespacedValue.js +113 -0
  125. package/lib/NamespacedValue.js.map +1 -0
  126. package/lib/ReEmitter.d.ts +15 -0
  127. package/lib/ReEmitter.d.ts.map +1 -0
  128. package/lib/ReEmitter.js +87 -0
  129. package/lib/ReEmitter.js.map +1 -0
  130. package/lib/ToDeviceMessageQueue.d.ts +30 -0
  131. package/lib/ToDeviceMessageQueue.d.ts.map +1 -0
  132. package/lib/ToDeviceMessageQueue.js +135 -0
  133. package/lib/ToDeviceMessageQueue.js.map +1 -0
  134. package/lib/autodiscovery.d.ts +136 -0
  135. package/lib/autodiscovery.d.ts.map +1 -0
  136. package/lib/autodiscovery.js +464 -0
  137. package/lib/autodiscovery.js.map +1 -0
  138. package/lib/base64.d.ts +25 -0
  139. package/lib/base64.d.ts.map +1 -0
  140. package/lib/base64.js +95 -0
  141. package/lib/base64.js.map +1 -0
  142. package/lib/briij.d.ts +116 -0
  143. package/lib/briij.d.ts.map +1 -0
  144. package/lib/briij.js +145 -0
  145. package/lib/briij.js.map +1 -0
  146. package/lib/browser-index.d.ts +8 -0
  147. package/lib/browser-index.d.ts.map +1 -0
  148. package/lib/browser-index.js +35 -0
  149. package/lib/browser-index.js.map +1 -0
  150. package/lib/client.d.ts +3493 -0
  151. package/lib/client.d.ts.map +1 -0
  152. package/lib/client.js +7482 -0
  153. package/lib/client.js.map +1 -0
  154. package/lib/common-crypto/CryptoBackend.d.ts +234 -0
  155. package/lib/common-crypto/CryptoBackend.d.ts.map +1 -0
  156. package/lib/common-crypto/CryptoBackend.js +69 -0
  157. package/lib/common-crypto/CryptoBackend.js.map +1 -0
  158. package/lib/common-crypto/key-passphrase.d.ts +14 -0
  159. package/lib/common-crypto/key-passphrase.d.ts.map +1 -0
  160. package/lib/common-crypto/key-passphrase.js +33 -0
  161. package/lib/common-crypto/key-passphrase.js.map +1 -0
  162. package/lib/content-helpers.d.ts +90 -0
  163. package/lib/content-helpers.d.ts.map +1 -0
  164. package/lib/content-helpers.js +262 -0
  165. package/lib/content-helpers.js.map +1 -0
  166. package/lib/content-repo.d.ts +25 -0
  167. package/lib/content-repo.d.ts.map +1 -0
  168. package/lib/content-repo.js +109 -0
  169. package/lib/content-repo.js.map +1 -0
  170. package/lib/crypto/store/base.d.ts +301 -0
  171. package/lib/crypto/store/base.d.ts.map +1 -0
  172. package/lib/crypto/store/base.js +145 -0
  173. package/lib/crypto/store/base.js.map +1 -0
  174. package/lib/crypto/store/indexeddb-crypto-store-backend.d.ts +94 -0
  175. package/lib/crypto/store/indexeddb-crypto-store-backend.d.ts.map +1 -0
  176. package/lib/crypto/store/indexeddb-crypto-store-backend.js +604 -0
  177. package/lib/crypto/store/indexeddb-crypto-store-backend.js.map +1 -0
  178. package/lib/crypto/store/indexeddb-crypto-store.d.ts +251 -0
  179. package/lib/crypto/store/indexeddb-crypto-store.d.ts.map +1 -0
  180. package/lib/crypto/store/indexeddb-crypto-store.js +477 -0
  181. package/lib/crypto/store/indexeddb-crypto-store.js.map +1 -0
  182. package/lib/crypto/store/localStorage-crypto-store.d.ts +102 -0
  183. package/lib/crypto/store/localStorage-crypto-store.d.ts.map +1 -0
  184. package/lib/crypto/store/localStorage-crypto-store.js +374 -0
  185. package/lib/crypto/store/localStorage-crypto-store.js.map +1 -0
  186. package/lib/crypto/store/memory-crypto-store.d.ts +117 -0
  187. package/lib/crypto/store/memory-crypto-store.d.ts.map +1 -0
  188. package/lib/crypto/store/memory-crypto-store.js +311 -0
  189. package/lib/crypto/store/memory-crypto-store.js.map +1 -0
  190. package/lib/crypto-api/CryptoEvent.d.ts +120 -0
  191. package/lib/crypto-api/CryptoEvent.d.ts.map +1 -0
  192. package/lib/crypto-api/CryptoEvent.js +137 -0
  193. package/lib/crypto-api/CryptoEvent.js.map +1 -0
  194. package/lib/crypto-api/CryptoEventHandlerMap.d.ts +26 -0
  195. package/lib/crypto-api/CryptoEventHandlerMap.d.ts.map +1 -0
  196. package/lib/crypto-api/CryptoEventHandlerMap.js +1 -0
  197. package/lib/crypto-api/CryptoEventHandlerMap.js.map +1 -0
  198. package/lib/crypto-api/index.d.ts +1160 -0
  199. package/lib/crypto-api/index.d.ts.map +1 -0
  200. package/lib/crypto-api/index.js +410 -0
  201. package/lib/crypto-api/index.js.map +1 -0
  202. package/lib/crypto-api/key-passphrase.d.ts +11 -0
  203. package/lib/crypto-api/key-passphrase.d.ts.map +1 -0
  204. package/lib/crypto-api/key-passphrase.js +51 -0
  205. package/lib/crypto-api/key-passphrase.js.map +1 -0
  206. package/lib/crypto-api/keybackup.d.ts +87 -0
  207. package/lib/crypto-api/keybackup.d.ts.map +1 -0
  208. package/lib/crypto-api/keybackup.js +1 -0
  209. package/lib/crypto-api/keybackup.js.map +1 -0
  210. package/lib/crypto-api/recovery-key.d.ts +11 -0
  211. package/lib/crypto-api/recovery-key.d.ts.map +1 -0
  212. package/lib/crypto-api/recovery-key.js +65 -0
  213. package/lib/crypto-api/recovery-key.js.map +1 -0
  214. package/lib/crypto-api/verification.d.ts +315 -0
  215. package/lib/crypto-api/verification.d.ts.map +1 -0
  216. package/lib/crypto-api/verification.js +130 -0
  217. package/lib/crypto-api/verification.js.map +1 -0
  218. package/lib/digest.d.ts +10 -0
  219. package/lib/digest.d.ts.map +1 -0
  220. package/lib/digest.js +40 -0
  221. package/lib/digest.js.map +1 -0
  222. package/lib/embedded.d.ts +182 -0
  223. package/lib/embedded.d.ts.map +1 -0
  224. package/lib/embedded.js +746 -0
  225. package/lib/embedded.js.map +1 -0
  226. package/lib/errors.d.ts +38 -0
  227. package/lib/errors.d.ts.map +1 -0
  228. package/lib/errors.js +73 -0
  229. package/lib/errors.js.map +1 -0
  230. package/lib/event-mapper.d.ts +9 -0
  231. package/lib/event-mapper.d.ts.map +1 -0
  232. package/lib/event-mapper.js +74 -0
  233. package/lib/event-mapper.js.map +1 -0
  234. package/lib/extensible_events_v1/ExtensibleEvent.d.ts +38 -0
  235. package/lib/extensible_events_v1/ExtensibleEvent.d.ts.map +1 -0
  236. package/lib/extensible_events_v1/ExtensibleEvent.js +57 -0
  237. package/lib/extensible_events_v1/ExtensibleEvent.js.map +1 -0
  238. package/lib/extensible_events_v1/InvalidEventError.d.ts +7 -0
  239. package/lib/extensible_events_v1/InvalidEventError.d.ts.map +1 -0
  240. package/lib/extensible_events_v1/InvalidEventError.js +25 -0
  241. package/lib/extensible_events_v1/InvalidEventError.js.map +1 -0
  242. package/lib/extensible_events_v1/MessageEvent.d.ts +44 -0
  243. package/lib/extensible_events_v1/MessageEvent.d.ts.map +1 -0
  244. package/lib/extensible_events_v1/MessageEvent.js +134 -0
  245. package/lib/extensible_events_v1/MessageEvent.js.map +1 -0
  246. package/lib/extensible_events_v1/PollEndEvent.d.ts +33 -0
  247. package/lib/extensible_events_v1/PollEndEvent.d.ts.map +1 -0
  248. package/lib/extensible_events_v1/PollEndEvent.js +88 -0
  249. package/lib/extensible_events_v1/PollEndEvent.js.map +1 -0
  250. package/lib/extensible_events_v1/PollResponseEvent.d.ts +49 -0
  251. package/lib/extensible_events_v1/PollResponseEvent.d.ts.map +1 -0
  252. package/lib/extensible_events_v1/PollResponseEvent.js +135 -0
  253. package/lib/extensible_events_v1/PollResponseEvent.js.map +1 -0
  254. package/lib/extensible_events_v1/PollStartEvent.d.ts +71 -0
  255. package/lib/extensible_events_v1/PollStartEvent.d.ts.map +1 -0
  256. package/lib/extensible_events_v1/PollStartEvent.js +185 -0
  257. package/lib/extensible_events_v1/PollStartEvent.js.map +1 -0
  258. package/lib/extensible_events_v1/utilities.d.ts +14 -0
  259. package/lib/extensible_events_v1/utilities.d.ts.map +1 -0
  260. package/lib/extensible_events_v1/utilities.js +34 -0
  261. package/lib/extensible_events_v1/utilities.js.map +1 -0
  262. package/lib/feature.d.ts +20 -0
  263. package/lib/feature.d.ts.map +1 -0
  264. package/lib/feature.js +89 -0
  265. package/lib/feature.js.map +1 -0
  266. package/lib/filter-component.d.ts +64 -0
  267. package/lib/filter-component.d.ts.map +1 -0
  268. package/lib/filter-component.js +170 -0
  269. package/lib/filter-component.js.map +1 -0
  270. package/lib/filter.d.ts +97 -0
  271. package/lib/filter.d.ts.map +1 -0
  272. package/lib/filter.js +207 -0
  273. package/lib/filter.js.map +1 -0
  274. package/lib/http-api/errors.d.ts +117 -0
  275. package/lib/http-api/errors.d.ts.map +1 -0
  276. package/lib/http-api/errors.js +245 -0
  277. package/lib/http-api/errors.js.map +1 -0
  278. package/lib/http-api/fetch.d.ts +80 -0
  279. package/lib/http-api/fetch.d.ts.map +1 -0
  280. package/lib/http-api/fetch.js +332 -0
  281. package/lib/http-api/fetch.js.map +1 -0
  282. package/lib/http-api/index.d.ts +33 -0
  283. package/lib/http-api/index.d.ts.map +1 -0
  284. package/lib/http-api/index.js +178 -0
  285. package/lib/http-api/index.js.map +1 -0
  286. package/lib/http-api/interface.d.ts +186 -0
  287. package/lib/http-api/interface.d.ts.map +1 -0
  288. package/lib/http-api/interface.js +39 -0
  289. package/lib/http-api/interface.js.map +1 -0
  290. package/lib/http-api/method.d.ts +10 -0
  291. package/lib/http-api/method.d.ts.map +1 -0
  292. package/lib/http-api/method.js +27 -0
  293. package/lib/http-api/method.js.map +1 -0
  294. package/lib/http-api/prefix.d.ts +31 -0
  295. package/lib/http-api/prefix.d.ts.map +1 -0
  296. package/lib/http-api/prefix.js +50 -0
  297. package/lib/http-api/prefix.js.map +1 -0
  298. package/lib/http-api/refresh.d.ts +53 -0
  299. package/lib/http-api/refresh.d.ts.map +1 -0
  300. package/lib/http-api/refresh.js +174 -0
  301. package/lib/http-api/refresh.js.map +1 -0
  302. package/lib/http-api/utils.d.ts +37 -0
  303. package/lib/http-api/utils.d.ts.map +1 -0
  304. package/lib/http-api/utils.js +182 -0
  305. package/lib/http-api/utils.js.map +1 -0
  306. package/lib/index.d.ts +4 -0
  307. package/lib/index.d.ts.map +1 -0
  308. package/lib/index.js +24 -0
  309. package/lib/index.js.map +1 -0
  310. package/lib/indexeddb-helpers.d.ts +10 -0
  311. package/lib/indexeddb-helpers.d.ts.map +1 -0
  312. package/lib/indexeddb-helpers.js +51 -0
  313. package/lib/indexeddb-helpers.js.map +1 -0
  314. package/lib/indexeddb-worker.d.ts +7 -0
  315. package/lib/indexeddb-worker.d.ts.map +1 -0
  316. package/lib/indexeddb-worker.js +25 -0
  317. package/lib/indexeddb-worker.js.map +1 -0
  318. package/lib/interactive-auth.d.ts +341 -0
  319. package/lib/interactive-auth.d.ts.map +1 -0
  320. package/lib/interactive-auth.js +563 -0
  321. package/lib/interactive-auth.js.map +1 -0
  322. package/lib/logger.d.ts +124 -0
  323. package/lib/logger.d.ts.map +1 -0
  324. package/lib/logger.js +230 -0
  325. package/lib/logger.js.map +1 -0
  326. package/lib/matrixrtc/CallMembership.d.ts +154 -0
  327. package/lib/matrixrtc/CallMembership.d.ts.map +1 -0
  328. package/lib/matrixrtc/CallMembership.js +469 -0
  329. package/lib/matrixrtc/CallMembership.js.map +1 -0
  330. package/lib/matrixrtc/EncryptionManager.d.ts +44 -0
  331. package/lib/matrixrtc/EncryptionManager.d.ts.map +1 -0
  332. package/lib/matrixrtc/EncryptionManager.js +13 -0
  333. package/lib/matrixrtc/EncryptionManager.js.map +1 -0
  334. package/lib/matrixrtc/IKeyTransport.d.ts +37 -0
  335. package/lib/matrixrtc/IKeyTransport.d.ts.map +1 -0
  336. package/lib/matrixrtc/IKeyTransport.js +27 -0
  337. package/lib/matrixrtc/IKeyTransport.js.map +1 -0
  338. package/lib/matrixrtc/IMembershipManager.d.ts +94 -0
  339. package/lib/matrixrtc/IMembershipManager.d.ts.map +1 -0
  340. package/lib/matrixrtc/IMembershipManager.js +40 -0
  341. package/lib/matrixrtc/IMembershipManager.js.map +1 -0
  342. package/lib/matrixrtc/LivekitTransport.d.ts +23 -0
  343. package/lib/matrixrtc/LivekitTransport.d.ts.map +1 -0
  344. package/lib/matrixrtc/LivekitTransport.js +29 -0
  345. package/lib/matrixrtc/LivekitTransport.js.map +1 -0
  346. package/lib/matrixrtc/MatrixRTCSession.d.ts +343 -0
  347. package/lib/matrixrtc/MatrixRTCSession.d.ts.map +1 -0
  348. package/lib/matrixrtc/MatrixRTCSession.js +623 -0
  349. package/lib/matrixrtc/MatrixRTCSession.js.map +1 -0
  350. package/lib/matrixrtc/MatrixRTCSessionManager.d.ts +46 -0
  351. package/lib/matrixrtc/MatrixRTCSessionManager.d.ts.map +1 -0
  352. package/lib/matrixrtc/MatrixRTCSessionManager.js +149 -0
  353. package/lib/matrixrtc/MatrixRTCSessionManager.js.map +1 -0
  354. package/lib/matrixrtc/MembershipManager.d.ts +210 -0
  355. package/lib/matrixrtc/MembershipManager.d.ts.map +1 -0
  356. package/lib/matrixrtc/MembershipManager.js +977 -0
  357. package/lib/matrixrtc/MembershipManager.js.map +1 -0
  358. package/lib/matrixrtc/MembershipManagerActionScheduler.d.ts +59 -0
  359. package/lib/matrixrtc/MembershipManagerActionScheduler.d.ts.map +1 -0
  360. package/lib/matrixrtc/MembershipManagerActionScheduler.js +125 -0
  361. package/lib/matrixrtc/MembershipManagerActionScheduler.js.map +1 -0
  362. package/lib/matrixrtc/RTCEncryptionManager.d.ts +110 -0
  363. package/lib/matrixrtc/RTCEncryptionManager.d.ts.map +1 -0
  364. package/lib/matrixrtc/RTCEncryptionManager.js +376 -0
  365. package/lib/matrixrtc/RTCEncryptionManager.js.map +1 -0
  366. package/lib/matrixrtc/ToDeviceKeyTransport.d.ts +30 -0
  367. package/lib/matrixrtc/ToDeviceKeyTransport.d.ts.map +1 -0
  368. package/lib/matrixrtc/ToDeviceKeyTransport.js +164 -0
  369. package/lib/matrixrtc/ToDeviceKeyTransport.js.map +1 -0
  370. package/lib/matrixrtc/index.d.ts +9 -0
  371. package/lib/matrixrtc/index.d.ts.map +1 -0
  372. package/lib/matrixrtc/index.js +23 -0
  373. package/lib/matrixrtc/index.js.map +1 -0
  374. package/lib/matrixrtc/membershipData/common.d.ts +8 -0
  375. package/lib/matrixrtc/membershipData/common.d.ts.map +1 -0
  376. package/lib/matrixrtc/membershipData/common.js +26 -0
  377. package/lib/matrixrtc/membershipData/common.js.map +1 -0
  378. package/lib/matrixrtc/membershipData/index.d.ts +4 -0
  379. package/lib/matrixrtc/membershipData/index.d.ts.map +1 -0
  380. package/lib/matrixrtc/membershipData/index.js +20 -0
  381. package/lib/matrixrtc/membershipData/index.js.map +1 -0
  382. package/lib/matrixrtc/membershipData/rtc.d.ts +33 -0
  383. package/lib/matrixrtc/membershipData/rtc.d.ts.map +1 -0
  384. package/lib/matrixrtc/membershipData/rtc.js +137 -0
  385. package/lib/matrixrtc/membershipData/rtc.js.map +1 -0
  386. package/lib/matrixrtc/membershipData/session.d.ts +77 -0
  387. package/lib/matrixrtc/membershipData/session.d.ts.map +1 -0
  388. package/lib/matrixrtc/membershipData/session.js +62 -0
  389. package/lib/matrixrtc/membershipData/session.js.map +1 -0
  390. package/lib/matrixrtc/types.d.ts +169 -0
  391. package/lib/matrixrtc/types.d.ts.map +1 -0
  392. package/lib/matrixrtc/types.js +117 -0
  393. package/lib/matrixrtc/types.js.map +1 -0
  394. package/lib/matrixrtc/utils.d.ts +27 -0
  395. package/lib/matrixrtc/utils.d.ts.map +1 -0
  396. package/lib/matrixrtc/utils.js +72 -0
  397. package/lib/matrixrtc/utils.js.map +1 -0
  398. package/lib/models/MSC3089Branch.d.ts +98 -0
  399. package/lib/models/MSC3089Branch.d.ts.map +1 -0
  400. package/lib/models/MSC3089Branch.js +240 -0
  401. package/lib/models/MSC3089Branch.js.map +1 -0
  402. package/lib/models/MSC3089TreeSpace.d.ts +166 -0
  403. package/lib/models/MSC3089TreeSpace.d.ts.map +1 -0
  404. package/lib/models/MSC3089TreeSpace.js +521 -0
  405. package/lib/models/MSC3089TreeSpace.js.map +1 -0
  406. package/lib/models/ToDeviceMessage.d.ts +17 -0
  407. package/lib/models/ToDeviceMessage.d.ts.map +1 -0
  408. package/lib/models/ToDeviceMessage.js +1 -0
  409. package/lib/models/ToDeviceMessage.js.map +1 -0
  410. package/lib/models/beacon.d.ts +52 -0
  411. package/lib/models/beacon.d.ts.map +1 -0
  412. package/lib/models/beacon.js +174 -0
  413. package/lib/models/beacon.js.map +1 -0
  414. package/lib/models/compare-event-ordering.d.ts +24 -0
  415. package/lib/models/compare-event-ordering.d.ts.map +1 -0
  416. package/lib/models/compare-event-ordering.js +120 -0
  417. package/lib/models/compare-event-ordering.js.map +1 -0
  418. package/lib/models/device.d.ts +45 -0
  419. package/lib/models/device.d.ts.map +1 -0
  420. package/lib/models/device.js +77 -0
  421. package/lib/models/device.js.map +1 -0
  422. package/lib/models/event-context.d.ts +62 -0
  423. package/lib/models/event-context.d.ts.map +1 -0
  424. package/lib/models/event-context.js +113 -0
  425. package/lib/models/event-context.js.map +1 -0
  426. package/lib/models/event-status.d.ts +19 -0
  427. package/lib/models/event-status.d.ts.map +1 -0
  428. package/lib/models/event-status.js +36 -0
  429. package/lib/models/event-status.js.map +1 -0
  430. package/lib/models/event-timeline-set.d.ts +308 -0
  431. package/lib/models/event-timeline-set.d.ts.map +1 -0
  432. package/lib/models/event-timeline-set.js +805 -0
  433. package/lib/models/event-timeline-set.js.map +1 -0
  434. package/lib/models/event-timeline.d.ts +224 -0
  435. package/lib/models/event-timeline.d.ts.map +1 -0
  436. package/lib/models/event-timeline.js +434 -0
  437. package/lib/models/event-timeline.js.map +1 -0
  438. package/lib/models/event.d.ts +844 -0
  439. package/lib/models/event.d.ts.map +1 -0
  440. package/lib/models/event.js +1600 -0
  441. package/lib/models/event.js.map +1 -0
  442. package/lib/models/invites-ignorer-types.d.ts +27 -0
  443. package/lib/models/invites-ignorer-types.d.ts.map +1 -0
  444. package/lib/models/invites-ignorer-types.js +56 -0
  445. package/lib/models/invites-ignorer-types.js.map +1 -0
  446. package/lib/models/invites-ignorer.d.ts +112 -0
  447. package/lib/models/invites-ignorer.d.ts.map +1 -0
  448. package/lib/models/invites-ignorer.js +357 -0
  449. package/lib/models/invites-ignorer.js.map +1 -0
  450. package/lib/models/poll.d.ts +67 -0
  451. package/lib/models/poll.d.ts.map +1 -0
  452. package/lib/models/poll.js +241 -0
  453. package/lib/models/poll.js.map +1 -0
  454. package/lib/models/profile-keys.d.ts +17 -0
  455. package/lib/models/profile-keys.d.ts.map +1 -0
  456. package/lib/models/profile-keys.js +34 -0
  457. package/lib/models/profile-keys.js.map +1 -0
  458. package/lib/models/read-receipt.d.ts +115 -0
  459. package/lib/models/read-receipt.d.ts.map +1 -0
  460. package/lib/models/read-receipt.js +366 -0
  461. package/lib/models/read-receipt.js.map +1 -0
  462. package/lib/models/related-relations.d.ts +11 -0
  463. package/lib/models/related-relations.d.ts.map +1 -0
  464. package/lib/models/related-relations.js +33 -0
  465. package/lib/models/related-relations.js.map +1 -0
  466. package/lib/models/relations-container.d.ts +44 -0
  467. package/lib/models/relations-container.d.ts.map +1 -0
  468. package/lib/models/relations-container.js +132 -0
  469. package/lib/models/relations-container.js.map +1 -0
  470. package/lib/models/relations.d.ts +123 -0
  471. package/lib/models/relations.d.ts.map +1 -0
  472. package/lib/models/relations.js +378 -0
  473. package/lib/models/relations.js.map +1 -0
  474. package/lib/models/room-member.d.ts +221 -0
  475. package/lib/models/room-member.d.ts.map +1 -0
  476. package/lib/models/room-member.js +376 -0
  477. package/lib/models/room-member.js.map +1 -0
  478. package/lib/models/room-receipts.d.ts +39 -0
  479. package/lib/models/room-receipts.d.ts.map +1 -0
  480. package/lib/models/room-receipts.js +392 -0
  481. package/lib/models/room-receipts.js.map +1 -0
  482. package/lib/models/room-state.d.ts +463 -0
  483. package/lib/models/room-state.d.ts.map +1 -0
  484. package/lib/models/room-state.js +1066 -0
  485. package/lib/models/room-state.js.map +1 -0
  486. package/lib/models/room-sticky-events.d.ts +110 -0
  487. package/lib/models/room-sticky-events.d.ts.map +1 -0
  488. package/lib/models/room-sticky-events.js +353 -0
  489. package/lib/models/room-sticky-events.js.map +1 -0
  490. package/lib/models/room-summary.d.ts +59 -0
  491. package/lib/models/room-summary.d.ts.map +1 -0
  492. package/lib/models/room-summary.js +39 -0
  493. package/lib/models/room-summary.js.map +1 -0
  494. package/lib/models/room.d.ts +1285 -0
  495. package/lib/models/room.d.ts.map +1 -0
  496. package/lib/models/room.js +3548 -0
  497. package/lib/models/room.js.map +1 -0
  498. package/lib/models/search-result.d.ts +20 -0
  499. package/lib/models/search-result.d.ts.map +1 -0
  500. package/lib/models/search-result.js +52 -0
  501. package/lib/models/search-result.js.map +1 -0
  502. package/lib/models/thread.d.ts +245 -0
  503. package/lib/models/thread.d.ts.map +1 -0
  504. package/lib/models/thread.js +866 -0
  505. package/lib/models/thread.js.map +1 -0
  506. package/lib/models/typed-event-emitter.d.ts +157 -0
  507. package/lib/models/typed-event-emitter.d.ts.map +1 -0
  508. package/lib/models/typed-event-emitter.js +227 -0
  509. package/lib/models/typed-event-emitter.js.map +1 -0
  510. package/lib/models/user.d.ts +195 -0
  511. package/lib/models/user.d.ts.map +1 -0
  512. package/lib/models/user.js +218 -0
  513. package/lib/models/user.js.map +1 -0
  514. package/lib/oidc/authorize.d.ts +93 -0
  515. package/lib/oidc/authorize.d.ts.map +1 -0
  516. package/lib/oidc/authorize.js +282 -0
  517. package/lib/oidc/authorize.js.map +1 -0
  518. package/lib/oidc/discovery.d.ts +22 -0
  519. package/lib/oidc/discovery.d.ts.map +1 -0
  520. package/lib/oidc/discovery.js +78 -0
  521. package/lib/oidc/discovery.js.map +1 -0
  522. package/lib/oidc/error.d.ts +18 -0
  523. package/lib/oidc/error.d.ts.map +1 -0
  524. package/lib/oidc/error.js +35 -0
  525. package/lib/oidc/error.js.map +1 -0
  526. package/lib/oidc/index.d.ts +16 -0
  527. package/lib/oidc/index.d.ts.map +1 -0
  528. package/lib/oidc/index.js +29 -0
  529. package/lib/oidc/index.js.map +1 -0
  530. package/lib/oidc/register.d.ts +70 -0
  531. package/lib/oidc/register.d.ts.map +1 -0
  532. package/lib/oidc/register.js +135 -0
  533. package/lib/oidc/register.js.map +1 -0
  534. package/lib/oidc/tokenRefresher.d.ts +91 -0
  535. package/lib/oidc/tokenRefresher.d.ts.map +1 -0
  536. package/lib/oidc/tokenRefresher.js +187 -0
  537. package/lib/oidc/tokenRefresher.js.map +1 -0
  538. package/lib/oidc/validate.d.ts +78 -0
  539. package/lib/oidc/validate.d.ts.map +1 -0
  540. package/lib/oidc/validate.js +181 -0
  541. package/lib/oidc/validate.js.map +1 -0
  542. package/lib/pushprocessor.d.ts +140 -0
  543. package/lib/pushprocessor.d.ts.map +1 -0
  544. package/lib/pushprocessor.js +702 -0
  545. package/lib/pushprocessor.js.map +1 -0
  546. package/lib/randomstring.d.ts +32 -0
  547. package/lib/randomstring.d.ts.map +1 -0
  548. package/lib/randomstring.js +97 -0
  549. package/lib/randomstring.js.map +1 -0
  550. package/lib/realtime-callbacks.d.ts +18 -0
  551. package/lib/realtime-callbacks.d.ts.map +1 -0
  552. package/lib/realtime-callbacks.js +177 -0
  553. package/lib/realtime-callbacks.js.map +1 -0
  554. package/lib/receipt-accumulator.d.ts +51 -0
  555. package/lib/receipt-accumulator.d.ts.map +1 -0
  556. package/lib/receipt-accumulator.js +164 -0
  557. package/lib/receipt-accumulator.js.map +1 -0
  558. package/lib/rendezvous/MSC4108SignInWithQR.d.ts +112 -0
  559. package/lib/rendezvous/MSC4108SignInWithQR.d.ts.map +1 -0
  560. package/lib/rendezvous/MSC4108SignInWithQR.js +389 -0
  561. package/lib/rendezvous/MSC4108SignInWithQR.js.map +1 -0
  562. package/lib/rendezvous/RendezvousChannel.d.ts +27 -0
  563. package/lib/rendezvous/RendezvousChannel.d.ts.map +1 -0
  564. package/lib/rendezvous/RendezvousChannel.js +1 -0
  565. package/lib/rendezvous/RendezvousChannel.js.map +1 -0
  566. package/lib/rendezvous/RendezvousCode.d.ts +9 -0
  567. package/lib/rendezvous/RendezvousCode.d.ts.map +1 -0
  568. package/lib/rendezvous/RendezvousCode.js +1 -0
  569. package/lib/rendezvous/RendezvousCode.js.map +1 -0
  570. package/lib/rendezvous/RendezvousError.d.ts +6 -0
  571. package/lib/rendezvous/RendezvousError.d.ts.map +1 -0
  572. package/lib/rendezvous/RendezvousError.js +23 -0
  573. package/lib/rendezvous/RendezvousError.js.map +1 -0
  574. package/lib/rendezvous/RendezvousFailureReason.d.ts +31 -0
  575. package/lib/rendezvous/RendezvousFailureReason.d.ts.map +1 -0
  576. package/lib/rendezvous/RendezvousFailureReason.js +47 -0
  577. package/lib/rendezvous/RendezvousFailureReason.js.map +1 -0
  578. package/lib/rendezvous/RendezvousIntent.d.ts +5 -0
  579. package/lib/rendezvous/RendezvousIntent.d.ts.map +1 -0
  580. package/lib/rendezvous/RendezvousIntent.js +22 -0
  581. package/lib/rendezvous/RendezvousIntent.js.map +1 -0
  582. package/lib/rendezvous/RendezvousTransport.d.ts +36 -0
  583. package/lib/rendezvous/RendezvousTransport.d.ts.map +1 -0
  584. package/lib/rendezvous/RendezvousTransport.js +1 -0
  585. package/lib/rendezvous/RendezvousTransport.js.map +1 -0
  586. package/lib/rendezvous/channels/MSC4108SecureChannel.d.ts +58 -0
  587. package/lib/rendezvous/channels/MSC4108SecureChannel.d.ts.map +1 -0
  588. package/lib/rendezvous/channels/MSC4108SecureChannel.js +246 -0
  589. package/lib/rendezvous/channels/MSC4108SecureChannel.js.map +1 -0
  590. package/lib/rendezvous/channels/index.d.ts +2 -0
  591. package/lib/rendezvous/channels/index.d.ts.map +1 -0
  592. package/lib/rendezvous/channels/index.js +18 -0
  593. package/lib/rendezvous/channels/index.js.map +1 -0
  594. package/lib/rendezvous/index.d.ts +10 -0
  595. package/lib/rendezvous/index.d.ts.map +1 -0
  596. package/lib/rendezvous/index.js +23 -0
  597. package/lib/rendezvous/index.js.map +1 -0
  598. package/lib/rendezvous/transports/MSC4108RendezvousSession.d.ts +61 -0
  599. package/lib/rendezvous/transports/MSC4108RendezvousSession.d.ts.map +1 -0
  600. package/lib/rendezvous/transports/MSC4108RendezvousSession.js +254 -0
  601. package/lib/rendezvous/transports/MSC4108RendezvousSession.js.map +1 -0
  602. package/lib/rendezvous/transports/index.d.ts +2 -0
  603. package/lib/rendezvous/transports/index.d.ts.map +1 -0
  604. package/lib/rendezvous/transports/index.js +18 -0
  605. package/lib/rendezvous/transports/index.js.map +1 -0
  606. package/lib/room-hierarchy.d.ts +35 -0
  607. package/lib/room-hierarchy.d.ts.map +1 -0
  608. package/lib/room-hierarchy.js +136 -0
  609. package/lib/room-hierarchy.js.map +1 -0
  610. package/lib/rust-crypto/CrossSigningIdentity.d.ts +35 -0
  611. package/lib/rust-crypto/CrossSigningIdentity.d.ts.map +1 -0
  612. package/lib/rust-crypto/CrossSigningIdentity.js +163 -0
  613. package/lib/rust-crypto/CrossSigningIdentity.js.map +1 -0
  614. package/lib/rust-crypto/DehydratedDeviceManager.d.ts +118 -0
  615. package/lib/rust-crypto/DehydratedDeviceManager.d.ts.map +1 -0
  616. package/lib/rust-crypto/DehydratedDeviceManager.js +361 -0
  617. package/lib/rust-crypto/DehydratedDeviceManager.js.map +1 -0
  618. package/lib/rust-crypto/KeyClaimManager.d.ts +33 -0
  619. package/lib/rust-crypto/KeyClaimManager.d.ts.map +1 -0
  620. package/lib/rust-crypto/KeyClaimManager.js +82 -0
  621. package/lib/rust-crypto/KeyClaimManager.js.map +1 -0
  622. package/lib/rust-crypto/OutgoingRequestProcessor.d.ts +36 -0
  623. package/lib/rust-crypto/OutgoingRequestProcessor.d.ts.map +1 -0
  624. package/lib/rust-crypto/OutgoingRequestProcessor.js +194 -0
  625. package/lib/rust-crypto/OutgoingRequestProcessor.js.map +1 -0
  626. package/lib/rust-crypto/OutgoingRequestsManager.d.ts +47 -0
  627. package/lib/rust-crypto/OutgoingRequestsManager.d.ts.map +1 -0
  628. package/lib/rust-crypto/OutgoingRequestsManager.js +175 -0
  629. package/lib/rust-crypto/OutgoingRequestsManager.js.map +1 -0
  630. package/lib/rust-crypto/PerSessionKeyBackupDownloader.d.ts +120 -0
  631. package/lib/rust-crypto/PerSessionKeyBackupDownloader.d.ts.map +1 -0
  632. package/lib/rust-crypto/PerSessionKeyBackupDownloader.js +469 -0
  633. package/lib/rust-crypto/PerSessionKeyBackupDownloader.js.map +1 -0
  634. package/lib/rust-crypto/RoomEncryptor.d.ts +100 -0
  635. package/lib/rust-crypto/RoomEncryptor.d.ts.map +1 -0
  636. package/lib/rust-crypto/RoomEncryptor.js +308 -0
  637. package/lib/rust-crypto/RoomEncryptor.js.map +1 -0
  638. package/lib/rust-crypto/backup.d.ts +278 -0
  639. package/lib/rust-crypto/backup.d.ts.map +1 -0
  640. package/lib/rust-crypto/backup.js +898 -0
  641. package/lib/rust-crypto/backup.js.map +1 -0
  642. package/lib/rust-crypto/constants.d.ts +3 -0
  643. package/lib/rust-crypto/constants.d.ts.map +1 -0
  644. package/lib/rust-crypto/constants.js +19 -0
  645. package/lib/rust-crypto/constants.js.map +1 -0
  646. package/lib/rust-crypto/device-converter.d.ts +28 -0
  647. package/lib/rust-crypto/device-converter.d.ts.map +1 -0
  648. package/lib/rust-crypto/device-converter.js +123 -0
  649. package/lib/rust-crypto/device-converter.js.map +1 -0
  650. package/lib/rust-crypto/index.d.ts +65 -0
  651. package/lib/rust-crypto/index.d.ts.map +1 -0
  652. package/lib/rust-crypto/index.js +149 -0
  653. package/lib/rust-crypto/index.js.map +1 -0
  654. package/lib/rust-crypto/libolm_migration.d.ts +81 -0
  655. package/lib/rust-crypto/libolm_migration.d.ts.map +1 -0
  656. package/lib/rust-crypto/libolm_migration.js +456 -0
  657. package/lib/rust-crypto/libolm_migration.js.map +1 -0
  658. package/lib/rust-crypto/rust-crypto.d.ts +576 -0
  659. package/lib/rust-crypto/rust-crypto.d.ts.map +1 -0
  660. package/lib/rust-crypto/rust-crypto.js +2324 -0
  661. package/lib/rust-crypto/rust-crypto.js.map +1 -0
  662. package/lib/rust-crypto/secret-storage.d.ts +22 -0
  663. package/lib/rust-crypto/secret-storage.d.ts.map +1 -0
  664. package/lib/rust-crypto/secret-storage.js +63 -0
  665. package/lib/rust-crypto/secret-storage.js.map +1 -0
  666. package/lib/rust-crypto/verification.d.ts +321 -0
  667. package/lib/rust-crypto/verification.d.ts.map +1 -0
  668. package/lib/rust-crypto/verification.js +817 -0
  669. package/lib/rust-crypto/verification.js.map +1 -0
  670. package/lib/scheduler.d.ts +132 -0
  671. package/lib/scheduler.d.ts.map +1 -0
  672. package/lib/scheduler.js +259 -0
  673. package/lib/scheduler.js.map +1 -0
  674. package/lib/secret-storage.d.ts +383 -0
  675. package/lib/secret-storage.d.ts.map +1 -0
  676. package/lib/secret-storage.js +487 -0
  677. package/lib/secret-storage.js.map +1 -0
  678. package/lib/serverCapabilities.d.ts +78 -0
  679. package/lib/serverCapabilities.d.ts.map +1 -0
  680. package/lib/serverCapabilities.js +104 -0
  681. package/lib/serverCapabilities.js.map +1 -0
  682. package/lib/service-types.d.ts +5 -0
  683. package/lib/service-types.d.ts.map +1 -0
  684. package/lib/service-types.js +23 -0
  685. package/lib/service-types.js.map +1 -0
  686. package/lib/sliding-sync-sdk.d.ts +107 -0
  687. package/lib/sliding-sync-sdk.d.ts.map +1 -0
  688. package/lib/sliding-sync-sdk.js +892 -0
  689. package/lib/sliding-sync-sdk.js.map +1 -0
  690. package/lib/sliding-sync.d.ts +306 -0
  691. package/lib/sliding-sync.d.ts.map +1 -0
  692. package/lib/sliding-sync.js +585 -0
  693. package/lib/sliding-sync.js.map +1 -0
  694. package/lib/store/index.d.ts +201 -0
  695. package/lib/store/index.d.ts.map +1 -0
  696. package/lib/store/index.js +1 -0
  697. package/lib/store/index.js.map +1 -0
  698. package/lib/store/indexeddb-backend.d.ts +24 -0
  699. package/lib/store/indexeddb-backend.d.ts.map +1 -0
  700. package/lib/store/indexeddb-backend.js +1 -0
  701. package/lib/store/indexeddb-backend.js.map +1 -0
  702. package/lib/store/indexeddb-local-backend.d.ts +129 -0
  703. package/lib/store/indexeddb-local-backend.d.ts.map +1 -0
  704. package/lib/store/indexeddb-local-backend.js +599 -0
  705. package/lib/store/indexeddb-local-backend.js.map +1 -0
  706. package/lib/store/indexeddb-remote-backend.d.ts +79 -0
  707. package/lib/store/indexeddb-remote-backend.d.ts.map +1 -0
  708. package/lib/store/indexeddb-remote-backend.js +209 -0
  709. package/lib/store/indexeddb-remote-backend.js.map +1 -0
  710. package/lib/store/indexeddb-store-worker.d.ts +35 -0
  711. package/lib/store/indexeddb-store-worker.d.ts.map +1 -0
  712. package/lib/store/indexeddb-store-worker.js +146 -0
  713. package/lib/store/indexeddb-store-worker.js.map +1 -0
  714. package/lib/store/indexeddb.d.ts +142 -0
  715. package/lib/store/indexeddb.d.ts.map +1 -0
  716. package/lib/store/indexeddb.js +347 -0
  717. package/lib/store/indexeddb.js.map +1 -0
  718. package/lib/store/local-storage-events-emitter.d.ts +30 -0
  719. package/lib/store/local-storage-events-emitter.d.ts.map +1 -0
  720. package/lib/store/local-storage-events-emitter.js +37 -0
  721. package/lib/store/local-storage-events-emitter.js.map +1 -0
  722. package/lib/store/memory.d.ts +209 -0
  723. package/lib/store/memory.d.ts.map +1 -0
  724. package/lib/store/memory.js +432 -0
  725. package/lib/store/memory.js.map +1 -0
  726. package/lib/store/stub.d.ts +161 -0
  727. package/lib/store/stub.d.ts.map +1 -0
  728. package/lib/store/stub.js +268 -0
  729. package/lib/store/stub.js.map +1 -0
  730. package/lib/sync-accumulator.d.ts +207 -0
  731. package/lib/sync-accumulator.d.ts.map +1 -0
  732. package/lib/sync-accumulator.js +588 -0
  733. package/lib/sync-accumulator.js.map +1 -0
  734. package/lib/sync.d.ts +273 -0
  735. package/lib/sync.d.ts.map +1 -0
  736. package/lib/sync.js +1764 -0
  737. package/lib/sync.js.map +1 -0
  738. package/lib/testing.d.ts +98 -0
  739. package/lib/testing.d.ts.map +1 -0
  740. package/lib/testing.js +205 -0
  741. package/lib/testing.js.map +1 -0
  742. package/lib/thread-utils.d.ts +10 -0
  743. package/lib/thread-utils.d.ts.map +1 -0
  744. package/lib/thread-utils.js +31 -0
  745. package/lib/thread-utils.js.map +1 -0
  746. package/lib/timeline-window.d.ts +168 -0
  747. package/lib/timeline-window.d.ts.map +1 -0
  748. package/lib/timeline-window.js +494 -0
  749. package/lib/timeline-window.js.map +1 -0
  750. package/lib/types.d.ts +33 -0
  751. package/lib/types.d.ts.map +1 -0
  752. package/lib/types.js +52 -0
  753. package/lib/types.js.map +1 -0
  754. package/lib/utils/decryptAESSecretStorageItem.d.ts +12 -0
  755. package/lib/utils/decryptAESSecretStorageItem.d.ts.map +1 -0
  756. package/lib/utils/decryptAESSecretStorageItem.js +50 -0
  757. package/lib/utils/decryptAESSecretStorageItem.js.map +1 -0
  758. package/lib/utils/encryptAESSecretStorageItem.d.ts +16 -0
  759. package/lib/utils/encryptAESSecretStorageItem.d.ts.map +1 -0
  760. package/lib/utils/encryptAESSecretStorageItem.js +68 -0
  761. package/lib/utils/encryptAESSecretStorageItem.js.map +1 -0
  762. package/lib/utils/internal/deriveKeys.d.ts +10 -0
  763. package/lib/utils/internal/deriveKeys.d.ts.map +1 -0
  764. package/lib/utils/internal/deriveKeys.js +60 -0
  765. package/lib/utils/internal/deriveKeys.js.map +1 -0
  766. package/lib/utils/roomVersion.d.ts +13 -0
  767. package/lib/utils/roomVersion.d.ts.map +1 -0
  768. package/lib/utils/roomVersion.js +36 -0
  769. package/lib/utils/roomVersion.js.map +1 -0
  770. package/lib/utils.d.ts +270 -0
  771. package/lib/utils.d.ts.map +1 -0
  772. package/lib/utils.js +764 -0
  773. package/lib/utils.js.map +1 -0
  774. package/lib/version-support.d.ts +19 -0
  775. package/lib/version-support.d.ts.map +1 -0
  776. package/lib/version-support.js +37 -0
  777. package/lib/version-support.js.map +1 -0
  778. package/lib/webrtc/audioContext.d.ts +15 -0
  779. package/lib/webrtc/audioContext.d.ts.map +1 -0
  780. package/lib/webrtc/audioContext.js +46 -0
  781. package/lib/webrtc/audioContext.js.map +1 -0
  782. package/lib/webrtc/call.d.ts +560 -0
  783. package/lib/webrtc/call.d.ts.map +1 -0
  784. package/lib/webrtc/call.js +2596 -0
  785. package/lib/webrtc/call.js.map +1 -0
  786. package/lib/webrtc/callEventHandler.d.ts +37 -0
  787. package/lib/webrtc/callEventHandler.d.ts.map +1 -0
  788. package/lib/webrtc/callEventHandler.js +344 -0
  789. package/lib/webrtc/callEventHandler.js.map +1 -0
  790. package/lib/webrtc/callEventTypes.d.ts +79 -0
  791. package/lib/webrtc/callEventTypes.d.ts.map +1 -0
  792. package/lib/webrtc/callEventTypes.js +13 -0
  793. package/lib/webrtc/callEventTypes.js.map +1 -0
  794. package/lib/webrtc/callFeed.d.ts +128 -0
  795. package/lib/webrtc/callFeed.d.ts.map +1 -0
  796. package/lib/webrtc/callFeed.js +289 -0
  797. package/lib/webrtc/callFeed.js.map +1 -0
  798. package/lib/webrtc/groupCall.d.ts +319 -0
  799. package/lib/webrtc/groupCall.d.ts.map +1 -0
  800. package/lib/webrtc/groupCall.js +1334 -0
  801. package/lib/webrtc/groupCall.js.map +1 -0
  802. package/lib/webrtc/groupCallEventHandler.d.ts +31 -0
  803. package/lib/webrtc/groupCallEventHandler.d.ts.map +1 -0
  804. package/lib/webrtc/groupCallEventHandler.js +178 -0
  805. package/lib/webrtc/groupCallEventHandler.js.map +1 -0
  806. package/lib/webrtc/mediaHandler.d.ts +89 -0
  807. package/lib/webrtc/mediaHandler.d.ts.map +1 -0
  808. package/lib/webrtc/mediaHandler.js +454 -0
  809. package/lib/webrtc/mediaHandler.js.map +1 -0
  810. package/lib/webrtc/stats/callFeedStatsReporter.d.ts +8 -0
  811. package/lib/webrtc/stats/callFeedStatsReporter.d.ts.map +1 -0
  812. package/lib/webrtc/stats/callFeedStatsReporter.js +79 -0
  813. package/lib/webrtc/stats/callFeedStatsReporter.js.map +1 -0
  814. package/lib/webrtc/stats/callStatsReportGatherer.d.ts +25 -0
  815. package/lib/webrtc/stats/callStatsReportGatherer.d.ts.map +1 -0
  816. package/lib/webrtc/stats/callStatsReportGatherer.js +199 -0
  817. package/lib/webrtc/stats/callStatsReportGatherer.js.map +1 -0
  818. package/lib/webrtc/stats/callStatsReportSummary.d.ts +17 -0
  819. package/lib/webrtc/stats/callStatsReportSummary.d.ts.map +1 -0
  820. package/lib/webrtc/stats/callStatsReportSummary.js +1 -0
  821. package/lib/webrtc/stats/callStatsReportSummary.js.map +1 -0
  822. package/lib/webrtc/stats/connectionStats.d.ts +28 -0
  823. package/lib/webrtc/stats/connectionStats.d.ts.map +1 -0
  824. package/lib/webrtc/stats/connectionStats.js +26 -0
  825. package/lib/webrtc/stats/connectionStats.js.map +1 -0
  826. package/lib/webrtc/stats/connectionStatsBuilder.d.ts +5 -0
  827. package/lib/webrtc/stats/connectionStatsBuilder.d.ts.map +1 -0
  828. package/lib/webrtc/stats/connectionStatsBuilder.js +27 -0
  829. package/lib/webrtc/stats/connectionStatsBuilder.js.map +1 -0
  830. package/lib/webrtc/stats/connectionStatsReportBuilder.d.ts +7 -0
  831. package/lib/webrtc/stats/connectionStatsReportBuilder.d.ts.map +1 -0
  832. package/lib/webrtc/stats/connectionStatsReportBuilder.js +121 -0
  833. package/lib/webrtc/stats/connectionStatsReportBuilder.js.map +1 -0
  834. package/lib/webrtc/stats/groupCallStats.d.ts +22 -0
  835. package/lib/webrtc/stats/groupCallStats.d.ts.map +1 -0
  836. package/lib/webrtc/stats/groupCallStats.js +78 -0
  837. package/lib/webrtc/stats/groupCallStats.js.map +1 -0
  838. package/lib/webrtc/stats/media/mediaSsrcHandler.d.ts +10 -0
  839. package/lib/webrtc/stats/media/mediaSsrcHandler.d.ts.map +1 -0
  840. package/lib/webrtc/stats/media/mediaSsrcHandler.js +57 -0
  841. package/lib/webrtc/stats/media/mediaSsrcHandler.js.map +1 -0
  842. package/lib/webrtc/stats/media/mediaTrackHandler.d.ts +12 -0
  843. package/lib/webrtc/stats/media/mediaTrackHandler.d.ts.map +1 -0
  844. package/lib/webrtc/stats/media/mediaTrackHandler.js +58 -0
  845. package/lib/webrtc/stats/media/mediaTrackHandler.js.map +1 -0
  846. package/lib/webrtc/stats/media/mediaTrackStats.d.ts +86 -0
  847. package/lib/webrtc/stats/media/mediaTrackStats.d.ts.map +1 -0
  848. package/lib/webrtc/stats/media/mediaTrackStats.js +142 -0
  849. package/lib/webrtc/stats/media/mediaTrackStats.js.map +1 -0
  850. package/lib/webrtc/stats/media/mediaTrackStatsHandler.d.ts +22 -0
  851. package/lib/webrtc/stats/media/mediaTrackStatsHandler.d.ts.map +1 -0
  852. package/lib/webrtc/stats/media/mediaTrackStatsHandler.js +76 -0
  853. package/lib/webrtc/stats/media/mediaTrackStatsHandler.js.map +1 -0
  854. package/lib/webrtc/stats/statsReport.d.ts +99 -0
  855. package/lib/webrtc/stats/statsReport.d.ts.map +1 -0
  856. package/lib/webrtc/stats/statsReport.js +32 -0
  857. package/lib/webrtc/stats/statsReport.js.map +1 -0
  858. package/lib/webrtc/stats/statsReportEmitter.d.ts +15 -0
  859. package/lib/webrtc/stats/statsReportEmitter.d.ts.map +1 -0
  860. package/lib/webrtc/stats/statsReportEmitter.js +33 -0
  861. package/lib/webrtc/stats/statsReportEmitter.js.map +1 -0
  862. package/lib/webrtc/stats/summaryStatsReportGatherer.d.ts +16 -0
  863. package/lib/webrtc/stats/summaryStatsReportGatherer.d.ts.map +1 -0
  864. package/lib/webrtc/stats/summaryStatsReportGatherer.js +116 -0
  865. package/lib/webrtc/stats/summaryStatsReportGatherer.js.map +1 -0
  866. package/lib/webrtc/stats/trackStatsBuilder.d.ts +19 -0
  867. package/lib/webrtc/stats/trackStatsBuilder.d.ts.map +1 -0
  868. package/lib/webrtc/stats/trackStatsBuilder.js +168 -0
  869. package/lib/webrtc/stats/trackStatsBuilder.js.map +1 -0
  870. package/lib/webrtc/stats/transportStats.d.ts +11 -0
  871. package/lib/webrtc/stats/transportStats.d.ts.map +1 -0
  872. package/lib/webrtc/stats/transportStats.js +1 -0
  873. package/lib/webrtc/stats/transportStats.js.map +1 -0
  874. package/lib/webrtc/stats/transportStatsBuilder.d.ts +5 -0
  875. package/lib/webrtc/stats/transportStatsBuilder.d.ts.map +1 -0
  876. package/lib/webrtc/stats/transportStatsBuilder.js +34 -0
  877. package/lib/webrtc/stats/transportStatsBuilder.js.map +1 -0
  878. package/lib/webrtc/stats/valueFormatter.d.ts +4 -0
  879. package/lib/webrtc/stats/valueFormatter.d.ts.map +1 -0
  880. package/lib/webrtc/stats/valueFormatter.js +25 -0
  881. package/lib/webrtc/stats/valueFormatter.js.map +1 -0
  882. package/package.json +129 -0
  883. package/src/@types/AESEncryptedSecretStoragePayload.ts +29 -0
  884. package/src/@types/IIdentityServerProvider.ts +24 -0
  885. package/src/@types/PushRules.ts +208 -0
  886. package/src/@types/another-json.d.ts +19 -0
  887. package/src/@types/auth.ts +258 -0
  888. package/src/@types/beacon.ts +140 -0
  889. package/src/@types/common.ts +24 -0
  890. package/src/@types/crypto.ts +71 -0
  891. package/src/@types/event.ts +449 -0
  892. package/src/@types/events.ts +119 -0
  893. package/src/@types/extensible_events.ts +147 -0
  894. package/src/@types/global.d.ts +67 -0
  895. package/src/@types/local_notifications.ts +19 -0
  896. package/src/@types/location.ts +92 -0
  897. package/src/@types/matrix-sdk-crypto-wasm.d.ts +39 -0
  898. package/src/@types/media.ts +245 -0
  899. package/src/@types/membership.ts +57 -0
  900. package/src/@types/partials.ts +103 -0
  901. package/src/@types/polls.ts +120 -0
  902. package/src/@types/read_receipts.ts +61 -0
  903. package/src/@types/registration.ts +102 -0
  904. package/src/@types/requests.ts +346 -0
  905. package/src/@types/search.ts +119 -0
  906. package/src/@types/signed.ts +25 -0
  907. package/src/@types/spaces.ts +37 -0
  908. package/src/@types/state_events.ts +153 -0
  909. package/src/@types/synapse.ts +40 -0
  910. package/src/@types/sync.ts +27 -0
  911. package/src/@types/threepids.ts +29 -0
  912. package/src/@types/topic.ts +69 -0
  913. package/src/@types/uia.ts +24 -0
  914. package/src/NamespacedValue.ts +121 -0
  915. package/src/ReEmitter.ts +93 -0
  916. package/src/ToDeviceMessageQueue.ts +156 -0
  917. package/src/autodiscovery.ts +505 -0
  918. package/src/base64.ts +86 -0
  919. package/src/briij.ts +173 -0
  920. package/src/browser-index.ts +44 -0
  921. package/src/client.ts +9031 -0
  922. package/src/common-crypto/CryptoBackend.ts +295 -0
  923. package/src/common-crypto/README.md +4 -0
  924. package/src/common-crypto/key-passphrase.ts +43 -0
  925. package/src/content-helpers.ts +298 -0
  926. package/src/content-repo.ts +122 -0
  927. package/src/crypto/store/base.ts +388 -0
  928. package/src/crypto/store/indexeddb-crypto-store-backend.ts +655 -0
  929. package/src/crypto/store/indexeddb-crypto-store.ts +555 -0
  930. package/src/crypto/store/localStorage-crypto-store.ts +409 -0
  931. package/src/crypto/store/memory-crypto-store.ts +326 -0
  932. package/src/crypto-api/CryptoEvent.ts +152 -0
  933. package/src/crypto-api/CryptoEventHandlerMap.ts +42 -0
  934. package/src/crypto-api/index.ts +1362 -0
  935. package/src/crypto-api/key-passphrase.ts +58 -0
  936. package/src/crypto-api/keybackup.ts +114 -0
  937. package/src/crypto-api/recovery-key.ts +69 -0
  938. package/src/crypto-api/verification.ts +382 -0
  939. package/src/digest.ts +34 -0
  940. package/src/embedded.ts +865 -0
  941. package/src/errors.ts +87 -0
  942. package/src/event-mapper.ts +88 -0
  943. package/src/extensible_events_v1/ExtensibleEvent.ts +58 -0
  944. package/src/extensible_events_v1/InvalidEventError.ts +24 -0
  945. package/src/extensible_events_v1/MessageEvent.ts +143 -0
  946. package/src/extensible_events_v1/PollEndEvent.ts +97 -0
  947. package/src/extensible_events_v1/PollResponseEvent.ts +148 -0
  948. package/src/extensible_events_v1/PollStartEvent.ts +207 -0
  949. package/src/extensible_events_v1/utilities.ts +35 -0
  950. package/src/feature.ts +88 -0
  951. package/src/filter-component.ts +209 -0
  952. package/src/filter.ts +245 -0
  953. package/src/http-api/errors.ts +261 -0
  954. package/src/http-api/fetch.ts +377 -0
  955. package/src/http-api/index.ts +194 -0
  956. package/src/http-api/interface.ts +229 -0
  957. package/src/http-api/method.ts +25 -0
  958. package/src/http-api/prefix.ts +48 -0
  959. package/src/http-api/refresh.ts +167 -0
  960. package/src/http-api/utils.ts +217 -0
  961. package/src/index.ts +25 -0
  962. package/src/indexeddb-helpers.ts +50 -0
  963. package/src/indexeddb-worker.ts +24 -0
  964. package/src/interactive-auth.ts +700 -0
  965. package/src/logger.ts +279 -0
  966. package/src/matrixrtc/CallMembership.ts +438 -0
  967. package/src/matrixrtc/EncryptionManager.ts +54 -0
  968. package/src/matrixrtc/IKeyTransport.ts +63 -0
  969. package/src/matrixrtc/IMembershipManager.ts +120 -0
  970. package/src/matrixrtc/LivekitTransport.ts +46 -0
  971. package/src/matrixrtc/MatrixRTCSession.ts +934 -0
  972. package/src/matrixrtc/MatrixRTCSessionManager.ts +170 -0
  973. package/src/matrixrtc/MembershipManager.ts +1122 -0
  974. package/src/matrixrtc/MembershipManagerActionScheduler.ts +135 -0
  975. package/src/matrixrtc/RTCEncryptionManager.ts +459 -0
  976. package/src/matrixrtc/ToDeviceKeyTransport.ts +197 -0
  977. package/src/matrixrtc/index.ts +24 -0
  978. package/src/matrixrtc/membershipData/common.ts +27 -0
  979. package/src/matrixrtc/membershipData/index.ts +19 -0
  980. package/src/matrixrtc/membershipData/rtc.ts +156 -0
  981. package/src/matrixrtc/membershipData/session.ts +146 -0
  982. package/src/matrixrtc/types.ts +227 -0
  983. package/src/matrixrtc/utils.ts +71 -0
  984. package/src/models/MSC3089Branch.ts +272 -0
  985. package/src/models/MSC3089TreeSpace.ts +565 -0
  986. package/src/models/ToDeviceMessage.ts +38 -0
  987. package/src/models/beacon.ts +213 -0
  988. package/src/models/compare-event-ordering.ts +139 -0
  989. package/src/models/device.ts +85 -0
  990. package/src/models/event-context.ts +110 -0
  991. package/src/models/event-status.ts +39 -0
  992. package/src/models/event-timeline-set.ts +962 -0
  993. package/src/models/event-timeline.ts +461 -0
  994. package/src/models/event.ts +1819 -0
  995. package/src/models/invites-ignorer-types.ts +58 -0
  996. package/src/models/invites-ignorer.ts +341 -0
  997. package/src/models/poll.ts +285 -0
  998. package/src/models/profile-keys.ts +33 -0
  999. package/src/models/read-receipt.ts +422 -0
  1000. package/src/models/related-relations.ts +39 -0
  1001. package/src/models/relations-container.ts +149 -0
  1002. package/src/models/relations.ts +392 -0
  1003. package/src/models/room-member.ts +486 -0
  1004. package/src/models/room-receipts.ts +439 -0
  1005. package/src/models/room-state.ts +1230 -0
  1006. package/src/models/room-sticky-events.ts +383 -0
  1007. package/src/models/room-summary.ts +78 -0
  1008. package/src/models/room.ts +4067 -0
  1009. package/src/models/search-result.ts +57 -0
  1010. package/src/models/thread.ts +928 -0
  1011. package/src/models/typed-event-emitter.ts +246 -0
  1012. package/src/models/user.ts +302 -0
  1013. package/src/oidc/authorize.ts +279 -0
  1014. package/src/oidc/discovery.ts +67 -0
  1015. package/src/oidc/error.ts +33 -0
  1016. package/src/oidc/index.ts +33 -0
  1017. package/src/oidc/register.ts +163 -0
  1018. package/src/oidc/tokenRefresher.ts +184 -0
  1019. package/src/oidc/validate.ts +265 -0
  1020. package/src/pushprocessor.ts +856 -0
  1021. package/src/randomstring.ts +103 -0
  1022. package/src/realtime-callbacks.ts +191 -0
  1023. package/src/receipt-accumulator.ts +189 -0
  1024. package/src/rendezvous/MSC4108SignInWithQR.ts +443 -0
  1025. package/src/rendezvous/RendezvousChannel.ts +48 -0
  1026. package/src/rendezvous/RendezvousCode.ts +25 -0
  1027. package/src/rendezvous/RendezvousError.ts +26 -0
  1028. package/src/rendezvous/RendezvousFailureReason.ts +49 -0
  1029. package/src/rendezvous/RendezvousIntent.ts +20 -0
  1030. package/src/rendezvous/RendezvousTransport.ts +58 -0
  1031. package/src/rendezvous/channels/MSC4108SecureChannel.ts +270 -0
  1032. package/src/rendezvous/channels/index.ts +17 -0
  1033. package/src/rendezvous/index.ts +25 -0
  1034. package/src/rendezvous/transports/MSC4108RendezvousSession.ts +272 -0
  1035. package/src/rendezvous/transports/index.ts +17 -0
  1036. package/src/room-hierarchy.ts +152 -0
  1037. package/src/rust-crypto/CrossSigningIdentity.ts +195 -0
  1038. package/src/rust-crypto/DehydratedDeviceManager.ts +392 -0
  1039. package/src/rust-crypto/KeyClaimManager.ts +86 -0
  1040. package/src/rust-crypto/OutgoingRequestProcessor.ts +233 -0
  1041. package/src/rust-crypto/OutgoingRequestsManager.ts +170 -0
  1042. package/src/rust-crypto/PerSessionKeyBackupDownloader.ts +501 -0
  1043. package/src/rust-crypto/RoomEncryptor.ts +362 -0
  1044. package/src/rust-crypto/backup.ts +942 -0
  1045. package/src/rust-crypto/constants.ts +18 -0
  1046. package/src/rust-crypto/device-converter.ts +128 -0
  1047. package/src/rust-crypto/index.ts +251 -0
  1048. package/src/rust-crypto/libolm_migration.ts +532 -0
  1049. package/src/rust-crypto/rust-crypto.ts +2542 -0
  1050. package/src/rust-crypto/secret-storage.ts +60 -0
  1051. package/src/rust-crypto/verification.ts +833 -0
  1052. package/src/scheduler.ts +309 -0
  1053. package/src/secret-storage.ts +714 -0
  1054. package/src/serverCapabilities.ts +146 -0
  1055. package/src/service-types.ts +20 -0
  1056. package/src/sliding-sync-sdk.ts +1005 -0
  1057. package/src/sliding-sync.ts +674 -0
  1058. package/src/store/index.ts +261 -0
  1059. package/src/store/indexeddb-backend.ts +41 -0
  1060. package/src/store/indexeddb-local-backend.ts +610 -0
  1061. package/src/store/indexeddb-remote-backend.ts +212 -0
  1062. package/src/store/indexeddb-store-worker.ts +157 -0
  1063. package/src/store/indexeddb.ts +397 -0
  1064. package/src/store/local-storage-events-emitter.ts +46 -0
  1065. package/src/store/memory.ts +448 -0
  1066. package/src/store/stub.ts +280 -0
  1067. package/src/sync-accumulator.ts +779 -0
  1068. package/src/sync.ts +2020 -0
  1069. package/src/testing.ts +231 -0
  1070. package/src/thread-utils.ts +31 -0
  1071. package/src/timeline-window.ts +534 -0
  1072. package/src/types.ts +59 -0
  1073. package/src/utils/decryptAESSecretStorageItem.ts +54 -0
  1074. package/src/utils/encryptAESSecretStorageItem.ts +73 -0
  1075. package/src/utils/internal/deriveKeys.ts +63 -0
  1076. package/src/utils/roomVersion.ts +35 -0
  1077. package/src/utils.ts +775 -0
  1078. package/src/version-support.ts +50 -0
  1079. package/src/webrtc/audioContext.ts +44 -0
  1080. package/src/webrtc/call.ts +3061 -0
  1081. package/src/webrtc/callEventHandler.ts +425 -0
  1082. package/src/webrtc/callEventTypes.ts +101 -0
  1083. package/src/webrtc/callFeed.ts +364 -0
  1084. package/src/webrtc/groupCall.ts +1729 -0
  1085. package/src/webrtc/groupCallEventHandler.ts +234 -0
  1086. package/src/webrtc/mediaHandler.ts +501 -0
  1087. package/src/webrtc/stats/callFeedStatsReporter.ts +91 -0
  1088. package/src/webrtc/stats/callStatsReportGatherer.ts +219 -0
  1089. package/src/webrtc/stats/callStatsReportSummary.ts +30 -0
  1090. package/src/webrtc/stats/connectionStats.ts +47 -0
  1091. package/src/webrtc/stats/connectionStatsBuilder.ts +28 -0
  1092. package/src/webrtc/stats/connectionStatsReportBuilder.ts +140 -0
  1093. package/src/webrtc/stats/groupCallStats.ts +93 -0
  1094. package/src/webrtc/stats/media/mediaSsrcHandler.ts +57 -0
  1095. package/src/webrtc/stats/media/mediaTrackHandler.ts +70 -0
  1096. package/src/webrtc/stats/media/mediaTrackStats.ts +176 -0
  1097. package/src/webrtc/stats/media/mediaTrackStatsHandler.ts +90 -0
  1098. package/src/webrtc/stats/statsReport.ts +133 -0
  1099. package/src/webrtc/stats/statsReportEmitter.ts +49 -0
  1100. package/src/webrtc/stats/summaryStatsReportGatherer.ts +148 -0
  1101. package/src/webrtc/stats/trackStatsBuilder.ts +207 -0
  1102. package/src/webrtc/stats/transportStats.ts +26 -0
  1103. package/src/webrtc/stats/transportStatsBuilder.ts +48 -0
  1104. package/src/webrtc/stats/valueFormatter.ts +27 -0
@@ -0,0 +1,1285 @@
1
+ import { EventTimelineSet, type EventTimelineSetHandlerMap, type IAddLiveEventOptions } from "./event-timeline-set.ts";
2
+ import { EventTimeline } from "./event-timeline.ts";
3
+ import { BriijEvent, BriijEventEvent, type BriijEventHandlerMap } from "./event.ts";
4
+ import { EventStatus } from "./event-status.ts";
5
+ import { RoomMember } from "./room-member.ts";
6
+ import { type IRoomSummary, RoomSummary } from "./room-summary.ts";
7
+ import { TypedReEmitter } from "../ReEmitter.ts";
8
+ import { EventType, RoomType } from "../@types/event.ts";
9
+ import { type BriijClient, PendingEventOrdering } from "../client.ts";
10
+ import { type GuestAccess, type HistoryVisibility, type JoinRule, type ResizeMethod } from "../@types/partials.ts";
11
+ import { Filter } from "../filter.ts";
12
+ import { type RoomState, RoomStateEvent, type RoomStateEventHandlerMap } from "./room-state.ts";
13
+ import { BeaconEvent, type BeaconEventHandlerMap } from "./beacon.ts";
14
+ import { Thread, ThreadEvent, type ThreadEventHandlerMap as ThreadHandlerMap } from "./thread.ts";
15
+ import { type CachedReceiptStructure, type Receipt } from "../@types/read_receipts.ts";
16
+ import { RelationsContainer } from "./relations-container.ts";
17
+ import { ReadReceipt } from "./read-receipt.ts";
18
+ import { Poll, PollEvent } from "./poll.ts";
19
+ import { type Membership } from "../@types/membership.ts";
20
+ import { type MSC4186Hero } from "../sliding-sync.ts";
21
+ import { RoomStickyEventsStore, RoomStickyEventsEvent, type RoomStickyEventsMap } from "./room-sticky-events.ts";
22
+ export declare const KNOWN_SAFE_ROOM_VERSION = "10";
23
+ interface IOpts {
24
+ /**
25
+ * Controls where pending messages appear in a room's timeline.
26
+ * If "<b>chronological</b>", messages will appear in the timeline when the call to `sendEvent` was made.
27
+ * If "<b>detached</b>", pending messages will appear in a separate list,
28
+ * accessible via {@link Room#getPendingEvents}.
29
+ * Default: "chronological".
30
+ */
31
+ pendingEventOrdering?: PendingEventOrdering;
32
+ /**
33
+ * Set to true to enable improved timeline support.
34
+ */
35
+ timelineSupport?: boolean;
36
+ lazyLoadMembers?: boolean;
37
+ }
38
+ export interface IRecommendedVersion {
39
+ version: string;
40
+ needsUpgrade: boolean;
41
+ urgent: boolean;
42
+ }
43
+ export type NotificationCount = Partial<Record<NotificationCountType, number>>;
44
+ export declare enum NotificationCountType {
45
+ Highlight = "highlight",
46
+ Total = "total"
47
+ }
48
+ export interface ICreateFilterOpts {
49
+ prepopulateTimeline?: boolean;
50
+ useSyncEvents?: boolean;
51
+ pendingEvents?: boolean;
52
+ }
53
+ export declare enum RoomEvent {
54
+ MyMembership = "Room.myMembership",
55
+ Tags = "Room.tags",
56
+ AccountData = "Room.accountData",
57
+ Receipt = "Room.receipt",
58
+ Name = "Room.name",
59
+ Redaction = "Room.redaction",
60
+ RedactionCancelled = "Room.redactionCancelled",
61
+ LocalEchoUpdated = "Room.localEchoUpdated",
62
+ Timeline = "Room.timeline",
63
+ TimelineReset = "Room.timelineReset",
64
+ TimelineRefresh = "Room.TimelineRefresh",
65
+ OldStateUpdated = "Room.OldStateUpdated",
66
+ CurrentStateUpdated = "Room.CurrentStateUpdated",
67
+ HistoryImportedWithinTimeline = "Room.historyImportedWithinTimeline",
68
+ UnreadNotifications = "Room.UnreadNotifications",
69
+ Summary = "Room.Summary"
70
+ }
71
+ export type RoomEmittedEvents = RoomEvent | RoomStateEvent.Events | RoomStateEvent.Members | RoomStateEvent.NewMember | RoomStateEvent.Update | RoomStateEvent.Marker | RoomStickyEventsEvent.Update | ThreadEvent.New | ThreadEvent.Update | ThreadEvent.NewReply | ThreadEvent.Delete | BriijEventEvent.BeforeRedaction | BeaconEvent.New | BeaconEvent.Update | BeaconEvent.Destroy | BeaconEvent.LivenessChange | PollEvent.New;
72
+ export type RoomEventHandlerMap = {
73
+ /**
74
+ * Fires when the logged in user's membership in the room is updated.
75
+ *
76
+ * @param room - The room in which the membership has been updated
77
+ * @param membership - The new membership value
78
+ * @param prevMembership - The previous membership value
79
+ */
80
+ [RoomEvent.MyMembership]: (room: Room, membership: Membership, prevMembership?: Membership) => void;
81
+ /**
82
+ * Fires whenever a room's tags are updated.
83
+ * @param event - The tags event
84
+ * @param room - The room whose Room.tags was updated.
85
+ * @example
86
+ * ```
87
+ * matrixClient.on("Room.tags", function(event, room){
88
+ * var newTags = event.getContent().tags;
89
+ * if (newTags["favourite"]) showStar(room);
90
+ * });
91
+ * ```
92
+ */
93
+ [RoomEvent.Tags]: (event: BriijEvent, room: Room) => void;
94
+ /**
95
+ * Fires whenever a room's account_data is updated.
96
+ * @param event - The account_data event
97
+ * @param room - The room whose account_data was updated.
98
+ * @param prevEvent - The event being replaced by
99
+ * the new account data, if known.
100
+ * @example
101
+ * ```
102
+ * matrixClient.on("Room.accountData", function(event, room, oldEvent){
103
+ * if (event.getType() === "m.room.colorscheme") {
104
+ * applyColorScheme(event.getContents());
105
+ * }
106
+ * });
107
+ * ```
108
+ */
109
+ [RoomEvent.AccountData]: (event: BriijEvent, room: Room, prevEvent?: BriijEvent) => void;
110
+ /**
111
+ * Fires whenever a receipt is received for a room
112
+ * @param event - The receipt event
113
+ * @param room - The room whose receipts was updated.
114
+ * @example
115
+ * ```
116
+ * matrixClient.on("Room.receipt", function(event, room){
117
+ * var receiptContent = event.getContent();
118
+ * });
119
+ * ```
120
+ */
121
+ [RoomEvent.Receipt]: (event: BriijEvent, room: Room) => void;
122
+ /**
123
+ * Fires whenever the name of a room is updated.
124
+ * @param room - The room whose Room.name was updated.
125
+ * @example
126
+ * ```
127
+ * matrixClient.on("Room.name", function(room){
128
+ * var newName = room.name;
129
+ * });
130
+ * ```
131
+ */
132
+ [RoomEvent.Name]: (room: Room) => void;
133
+ /**
134
+ * Fires when an event we had previously received is redacted.
135
+ *
136
+ * (Note this is *not* fired when the redaction happens before we receive the
137
+ * event).
138
+ *
139
+ * @param event - The matrix redaction event
140
+ * @param room - The room containing the redacted event
141
+ * @param threadId - The thread containing the redacted event (before it was redacted)
142
+ */
143
+ [RoomEvent.Redaction]: (event: BriijEvent, room: Room, threadId?: string) => void;
144
+ /**
145
+ * Fires when an event that was previously redacted isn't anymore.
146
+ * This happens when the redaction couldn't be sent and
147
+ * was subsequently cancelled by the user. Redactions have a local echo
148
+ * which is undone in this scenario.
149
+ *
150
+ * @param event - The matrix redaction event that was cancelled.
151
+ * @param room - The room containing the unredacted event
152
+ */
153
+ [RoomEvent.RedactionCancelled]: (event: BriijEvent, room: Room) => void;
154
+ /**
155
+ * Fires when the status of a transmitted event is updated.
156
+ *
157
+ * <p>When an event is first transmitted, a temporary copy of the event is
158
+ * inserted into the timeline, with a temporary event id, and a status of
159
+ * 'SENDING'.
160
+ *
161
+ * <p>Once the echo comes back from the server, the content of the event
162
+ * (BriijEvent.event) is replaced by the complete event from the homeserver,
163
+ * thus updating its event id, as well as server-generated fields such as the
164
+ * timestamp. Its status is set to null.
165
+ *
166
+ * <p>Once the /send request completes, if the remote echo has not already
167
+ * arrived, the event is updated with a new event id and the status is set to
168
+ * 'SENT'. The server-generated fields are of course not updated yet.
169
+ *
170
+ * <p>If the /send fails, In this case, the event's status is set to
171
+ * 'NOT_SENT'. If it is later resent, the process starts again, setting the
172
+ * status to 'SENDING'. Alternatively, the message may be cancelled, which
173
+ * removes the event from the room, and sets the status to 'CANCELLED'.
174
+ *
175
+ * <p>This event is raised to reflect each of the transitions above.
176
+ *
177
+ * @param event - The matrix event which has been updated
178
+ *
179
+ * @param room - The room containing the redacted event
180
+ *
181
+ * @param oldEventId - The previous event id (the temporary event id,
182
+ * except when updating a successfully-sent event when its echo arrives)
183
+ *
184
+ * @param oldStatus - The previous event status.
185
+ */
186
+ [RoomEvent.LocalEchoUpdated]: (event: BriijEvent, room: Room, oldEventId?: string, oldStatus?: EventStatus | null) => void;
187
+ [RoomEvent.OldStateUpdated]: (room: Room, previousRoomState: RoomState, roomState: RoomState) => void;
188
+ [RoomEvent.CurrentStateUpdated]: (room: Room, previousRoomState: RoomState, roomState: RoomState) => void;
189
+ [RoomEvent.HistoryImportedWithinTimeline]: (markerEvent: BriijEvent, room: Room) => void;
190
+ [RoomEvent.UnreadNotifications]: (unreadNotifications?: NotificationCount, threadId?: string) => void;
191
+ [RoomEvent.TimelineRefresh]: (room: Room, eventTimelineSet: EventTimelineSet) => void;
192
+ /**
193
+ * Fires when a new room summary is returned by `/sync`.
194
+ *
195
+ * See https://spec.matrix.org/v1.8/client-server-api/#_matrixclientv3sync_roomsummary
196
+ * for full details
197
+ * @param summary - the room summary object
198
+ */
199
+ [RoomEvent.Summary]: (summary: IRoomSummary) => void;
200
+ [ThreadEvent.New]: (thread: Thread, toStartOfTimeline: boolean) => void;
201
+ /**
202
+ * Fires when a new poll instance is added to the room state
203
+ * @param poll - the new poll
204
+ */
205
+ [PollEvent.New]: (poll: Poll) => void;
206
+ } & Pick<ThreadHandlerMap, ThreadEvent.Update | ThreadEvent.NewReply | ThreadEvent.Delete> & EventTimelineSetHandlerMap & Pick<BriijEventHandlerMap, BriijEventEvent.BeforeRedaction> & Pick<RoomStickyEventsMap, RoomStickyEventsEvent.Update> & Pick<RoomStateEventHandlerMap, RoomStateEvent.Events | RoomStateEvent.Members | RoomStateEvent.NewMember | RoomStateEvent.Update | RoomStateEvent.Marker | BeaconEvent.New> & Pick<BeaconEventHandlerMap, BeaconEvent.Update | BeaconEvent.Destroy | BeaconEvent.LivenessChange>;
207
+ export declare class Room extends ReadReceipt<RoomEmittedEvents, RoomEventHandlerMap> {
208
+ readonly roomId: string;
209
+ readonly client: BriijClient;
210
+ readonly myUserId: string;
211
+ private readonly opts;
212
+ readonly reEmitter: TypedReEmitter<RoomEmittedEvents, RoomEventHandlerMap>;
213
+ private txnToEvent;
214
+ private notificationCounts;
215
+ private bumpStamp;
216
+ private readonly threadNotifications;
217
+ readonly cachedThreadReadReceipts: Map<string, CachedReceiptStructure[]>;
218
+ private oldestThreadedReceiptTs;
219
+ /**
220
+ * A record of the latest unthread receipts per user
221
+ * This is useful in determining whether a user has read a thread or not
222
+ */
223
+ private unthreadedReceipts;
224
+ private readonly timelineSets;
225
+ readonly polls: Map<string, Poll>;
226
+ /**
227
+ * Empty array if the timeline sets have not been initialised. After initialisation:
228
+ * 0: All threads
229
+ * 1: Threads the current user has participated in
230
+ */
231
+ readonly threadsTimelineSets: [] | [EventTimelineSet, EventTimelineSet];
232
+ private readonly filteredTimelineSets;
233
+ private timelineNeedsRefresh;
234
+ private readonly pendingEventList?;
235
+ private blacklistUnverifiedDevices?;
236
+ private selfMembership?;
237
+ /**
238
+ * A `Hero` is a stripped `m.room.member` event which contains the important renderable fields from the event.
239
+ *
240
+ * It is used in MSC4186 (Simplified Sliding Sync) as a replacement for the old `summary` field.
241
+ *
242
+ * When we are doing old-style (`/v3/sync`) sync, we simulate the SSS behaviour by constructing
243
+ * a `Hero` object based on the user id we get from the summary. Obviously, in that case,
244
+ * the `Hero` will lack a `displayName` or `avatarUrl`.
245
+ */
246
+ private heroes;
247
+ private getTypeWarning;
248
+ private membersPromise?;
249
+ /**
250
+ * The human-readable display name for this room.
251
+ */
252
+ name: string;
253
+ /**
254
+ * The un-homoglyphed name for this room.
255
+ */
256
+ normalizedName: string;
257
+ /**
258
+ * Dict of room tags; the keys are the tag name and the values
259
+ * are any metadata associated with the tag - e.g. `{ "fav" : { order: 1 } }`
260
+ */
261
+ tags: Record<string, Record<string, any>>;
262
+ /**
263
+ * accountData Dict of per-room account_data events; the keys are the
264
+ * event type and the values are the events.
265
+ */
266
+ accountData: Map<string, BriijEvent>;
267
+ /**
268
+ * The room summary.
269
+ */
270
+ summary: RoomSummary | null;
271
+ /**
272
+ * oldState The state of the room at the time of the oldest event in the live timeline.
273
+ *
274
+ * @deprecated Present for backwards compatibility.
275
+ * Use getLiveTimeline().getState(EventTimeline.BACKWARDS) instead
276
+ */
277
+ oldState: RoomState;
278
+ /**
279
+ * currentState The state of the room at the time of the newest event in the timeline.
280
+ *
281
+ * @deprecated Present for backwards compatibility.
282
+ * Use getLiveTimeline().getState(EventTimeline.FORWARDS) instead.
283
+ */
284
+ currentState: RoomState;
285
+ readonly relations: RelationsContainer;
286
+ /**
287
+ * A collection of events known by the client
288
+ * This is not a comprehensive list of the threads that exist in this room
289
+ */
290
+ private threads;
291
+ /**
292
+ * A mapping of eventId to all visibility changes to apply
293
+ * to the event, by chronological order, as per
294
+ * https://github.com/matrix-org/matrix-doc/pull/3531
295
+ *
296
+ * # Invariants
297
+ *
298
+ * - within each list, all events are classed by
299
+ * chronological order;
300
+ * - all events are events such that
301
+ * `asVisibilityEvent()` returns a non-null `IVisibilityChange`;
302
+ * - within each list with key `eventId`, all events
303
+ * are in relation to `eventId`.
304
+ *
305
+ * @experimental
306
+ */
307
+ private visibilityEvents;
308
+ /**
309
+ * The latest receipts (synthetic and real) for each user in each thread
310
+ * (and unthreaded).
311
+ */
312
+ private roomReceipts;
313
+ /**
314
+ * Stores and tracks sticky events
315
+ */
316
+ private stickyEvents;
317
+ /**
318
+ * Construct a new Room.
319
+ *
320
+ * <p>For a room, we store an ordered sequence of timelines, which may or may not
321
+ * be continuous. Each timeline lists a series of events, as well as tracking
322
+ * the room state at the start and the end of the timeline. It also tracks
323
+ * forward and backward pagination tokens, as well as containing links to the
324
+ * next timeline in the sequence.
325
+ *
326
+ * <p>There is one special timeline - the 'live' timeline, which represents the
327
+ * timeline to which events are being added in real-time as they are received
328
+ * from the /sync API. Note that you should not retain references to this
329
+ * timeline - even if it is the current timeline right now, it may not remain
330
+ * so if the server gives us a timeline gap in /sync.
331
+ *
332
+ * <p>In order that we can find events from their ids later, we also maintain a
333
+ * map from event_id to timeline and index.
334
+ *
335
+ * @param roomId - Required. The ID of this room.
336
+ * @param client - Required. The client, used to lazy load members.
337
+ * @param myUserId - Required. The ID of the syncing user.
338
+ * @param opts - Configuration options
339
+ */
340
+ constructor(roomId: string, client: BriijClient, myUserId: string, opts?: IOpts);
341
+ private threadTimelineSetsPromise;
342
+ createThreadsTimelineSets(): Promise<[EventTimelineSet, EventTimelineSet] | null>;
343
+ /**
344
+ * Bulk decrypt critical events in a room
345
+ *
346
+ * Critical events represents the minimal set of events to decrypt
347
+ * for a typical UI to function properly
348
+ *
349
+ * - Last event of every room (to generate likely message preview)
350
+ * - All events up to the read receipt (to calculate an accurate notification count)
351
+ *
352
+ * @returns Signals when all events have been decrypted
353
+ */
354
+ decryptCriticalEvents(): Promise<void>;
355
+ /**
356
+ * Bulk decrypt events in a room
357
+ *
358
+ * @returns Signals when all events have been decrypted
359
+ */
360
+ decryptAllEvents(): Promise<void>;
361
+ /**
362
+ * Gets the creator of the room
363
+ * @returns The creator of the room, or null if it could not be determined
364
+ */
365
+ getCreator(): string | null;
366
+ /**
367
+ * Gets the version of the room
368
+ * @returns The version of the room
369
+ */
370
+ getVersion(): string;
371
+ /**
372
+ * Determines the recommended room version for the room. This returns an
373
+ * object with 3 properties: `version` as the new version the
374
+ * room should be upgraded to (may be the same as the current version);
375
+ * `needsUpgrade` to indicate if the room actually can be
376
+ * upgraded (ie: does the current version not match?); and `urgent`
377
+ * to indicate if the new version patches a vulnerability in a previous
378
+ * version.
379
+ * @returns
380
+ * Resolves to the version the room should be upgraded to.
381
+ */
382
+ getRecommendedVersion(): Promise<IRecommendedVersion>;
383
+ private checkVersionAgainstCapability;
384
+ /**
385
+ * Determines whether the given user is permitted to perform a room upgrade
386
+ * @param userId - The ID of the user to test against
387
+ * @returns True if the given user is permitted to upgrade the room
388
+ */
389
+ userMayUpgradeRoom(userId: string): boolean;
390
+ /**
391
+ * Get the list of pending sent events for this room
392
+ *
393
+ * @returns A list of the sent events
394
+ * waiting for remote echo.
395
+ *
396
+ * @throws If `opts.pendingEventOrdering` was not 'detached'
397
+ */
398
+ getPendingEvents(): BriijEvent[];
399
+ /**
400
+ * Removes a pending event for this room
401
+ *
402
+ * @returns True if an element was removed.
403
+ */
404
+ removePendingEvent(eventId: string): boolean;
405
+ /**
406
+ * Check whether the pending event list contains a given event by ID.
407
+ * If pending event ordering is not "detached" then this returns false.
408
+ *
409
+ * @param eventId - The event ID to check for.
410
+ */
411
+ hasPendingEvent(eventId: string): boolean;
412
+ /**
413
+ * Get a specific event from the pending event list, if configured, null otherwise.
414
+ *
415
+ * @param eventId - The event ID to check for.
416
+ */
417
+ getPendingEvent(eventId: string): BriijEvent | null;
418
+ /**
419
+ * Get the live unfiltered timeline for this room.
420
+ *
421
+ * @returns live timeline
422
+ */
423
+ getLiveTimeline(): EventTimeline;
424
+ /**
425
+ * The live event timeline for this room, with the oldest event at index 0.
426
+ *
427
+ * @deprecated Present for backwards compatibility.
428
+ * Use getLiveTimeline().getEvents() instead
429
+ */
430
+ get timeline(): BriijEvent[];
431
+ /**
432
+ * Get the timestamp of the last message in the room
433
+ *
434
+ * @returns the timestamp of the last message in the room
435
+ */
436
+ getLastActiveTimestamp(): number;
437
+ /**
438
+ * Returns the last live event of this room.
439
+ * "last" means latest timestamp.
440
+ * Instead of using timestamps, it would be better to do the comparison based on the order of the homeserver DAG.
441
+ * Unfortunately, this information is currently not available in the client.
442
+ * See {@link https://github.com/matrix-org/matrix-js-sdk/issues/3325}.
443
+ * "live of this room" means from all live timelines: the room and the threads.
444
+ *
445
+ * @returns BriijEvent if there is a last event; else undefined.
446
+ */
447
+ getLastLiveEvent(): BriijEvent | undefined;
448
+ /**
449
+ * Returns the last thread of this room.
450
+ * "last" means latest timestamp of the last thread event.
451
+ * Instead of using timestamps, it would be better to do the comparison based on the order of the homeserver DAG.
452
+ * Unfortunately, this information is currently not available in the client.
453
+ * See {@link https://github.com/matrix-org/matrix-js-sdk/issues/3325}.
454
+ *
455
+ * @returns the thread with the most recent event in its live time line. undefined if there is no thread.
456
+ */
457
+ getLastThread(): Thread | undefined;
458
+ /**
459
+ * @returns the membership type (join | leave | invite | knock) for the logged in user
460
+ */
461
+ getMyMembership(): Membership;
462
+ /**
463
+ * If this room is a DM we're invited to,
464
+ * try to find out who invited us
465
+ * @returns user id of the inviter
466
+ */
467
+ getDMInviter(): string | undefined;
468
+ /**
469
+ * Assuming this room is a DM room, tries to guess with which user.
470
+ * @returns user id of the other member (could be syncing user)
471
+ */
472
+ guessDMUserId(): string;
473
+ /**
474
+ * Gets the "functional members" in this room.
475
+ *
476
+ * Returns the list of userIDs from the `io.element.functional_members` event. Does not consider the
477
+ * current membership states of those users.
478
+ *
479
+ * @see https://github.com/element-hq/element-meta/blob/develop/spec/functional_members.md.
480
+ */
481
+ private getFunctionalMembers;
482
+ getAvatarFallbackMember(): RoomMember | undefined;
483
+ /**
484
+ * Sets the membership this room was received as during sync
485
+ * @param membership - join | leave | invite
486
+ */
487
+ updateMyMembership(membership: Membership): void;
488
+ private loadMembersFromServer;
489
+ private loadMembers;
490
+ /**
491
+ * Check if loading of out-of-band-members has completed
492
+ *
493
+ * @returns true if the full membership list of this room has been loaded (including if lazy-loading is disabled).
494
+ * False if the load is not started or is in progress.
495
+ */
496
+ membersLoaded(): boolean;
497
+ /**
498
+ * Preloads the member list in case lazy loading
499
+ * of memberships is in use. Can be called multiple times,
500
+ * it will only preload once.
501
+ * @returns when preloading is done and
502
+ * accessing the members on the room will take
503
+ * all members in the room into account
504
+ */
505
+ loadMembersIfNeeded(): Promise<boolean>;
506
+ /**
507
+ * Removes the lazily loaded members from storage if needed
508
+ */
509
+ clearLoadedMembersIfNeeded(): Promise<void>;
510
+ /**
511
+ * called when sync receives this room in the leave section
512
+ * to do cleanup after leaving a room. Possibly called multiple times.
513
+ */
514
+ private cleanupAfterLeaving;
515
+ /**
516
+ * Empty out the current live timeline and re-request it. This is used when
517
+ * historical messages are imported into the room via MSC2716 `/batch_send`
518
+ * because the client may already have that section of the timeline loaded.
519
+ * We need to force the client to throw away their current timeline so that
520
+ * when they back paginate over the area again with the historical messages
521
+ * in between, it grabs the newly imported messages. We can listen for
522
+ * `UNSTABLE_MSC2716_MARKER`, in order to tell when historical messages are ready
523
+ * to be discovered in the room and the timeline needs a refresh. The SDK
524
+ * emits a `RoomEvent.HistoryImportedWithinTimeline` event when we detect a
525
+ * valid marker and can check the needs refresh status via
526
+ * `room.getTimelineNeedsRefresh()`.
527
+ */
528
+ refreshLiveTimeline(): Promise<void>;
529
+ /**
530
+ * Reset the live timeline of all timelineSets, and start new ones.
531
+ *
532
+ * <p>This is used when /sync returns a 'limited' timeline.
533
+ *
534
+ * @param backPaginationToken - token for back-paginating the new timeline
535
+ * @param forwardPaginationToken - token for forward-paginating the old live timeline,
536
+ * if absent or null, all timelines are reset, removing old ones (including the previous live
537
+ * timeline which would otherwise be unable to paginate forwards without this token).
538
+ * Removing just the old live timeline whilst preserving previous ones is not supported.
539
+ */
540
+ resetLiveTimeline(backPaginationToken?: string | null, forwardPaginationToken?: string | null): void;
541
+ /**
542
+ * Fix up this.timeline, this.oldState and this.currentState
543
+ *
544
+ * @internal
545
+ */
546
+ private fixUpLegacyTimelineFields;
547
+ private onReceipt;
548
+ private clearNotificationsOnReceipt;
549
+ /**
550
+ * Return the timeline sets for this room.
551
+ * @returns array of timeline sets for this room
552
+ */
553
+ getTimelineSets(): EventTimelineSet[];
554
+ /**
555
+ * Helper to return the main unfiltered timeline set for this room
556
+ * @returns room's unfiltered timeline set
557
+ */
558
+ getUnfilteredTimelineSet(): EventTimelineSet;
559
+ /**
560
+ * Get the timeline which contains the given event from the unfiltered set, if any
561
+ *
562
+ * @param eventId - event ID to look for
563
+ * @returns timeline containing
564
+ * the given event, or null if unknown
565
+ */
566
+ getTimelineForEvent(eventId: string): EventTimeline | null;
567
+ /**
568
+ * Add a new timeline to this room's unfiltered timeline set
569
+ *
570
+ * @returns newly-created timeline
571
+ */
572
+ addTimeline(): EventTimeline;
573
+ /**
574
+ * Whether the timeline needs to be refreshed in order to pull in new
575
+ * historical messages that were imported.
576
+ * @param value - The value to set
577
+ */
578
+ setTimelineNeedsRefresh(value: boolean): void;
579
+ /**
580
+ * Whether the timeline needs to be refreshed in order to pull in new
581
+ * historical messages that were imported.
582
+ * @returns .
583
+ */
584
+ getTimelineNeedsRefresh(): boolean;
585
+ /**
586
+ * Get an event which is stored in our unfiltered timeline set, or in a thread
587
+ *
588
+ * @param eventId - event ID to look for
589
+ * @returns the given event, or undefined if unknown
590
+ */
591
+ findEventById(eventId: string): BriijEvent | undefined;
592
+ /**
593
+ * Get one of the notification counts for this room
594
+ * @param type - The type of notification count to get. default: 'total'
595
+ * @returns The notification count, or undefined if there is no count
596
+ * for this type.
597
+ */
598
+ getUnreadNotificationCount(type?: NotificationCountType): number;
599
+ /**
600
+ * Get the notification for the event context (room or thread timeline)
601
+ */
602
+ getUnreadCountForEventContext(type: NotificationCountType | undefined, event: BriijEvent): number;
603
+ /**
604
+ * Get one of the notification counts for this room
605
+ * @param type - The type of notification count to get. default: 'total'
606
+ * @returns The notification count, or undefined if there is no count
607
+ * for this type.
608
+ */
609
+ getRoomUnreadNotificationCount(type?: NotificationCountType): number;
610
+ /**
611
+ * Get one of the notification counts for a thread
612
+ * @param threadId - the root event ID
613
+ * @param type - The type of notification count to get. default: 'total'
614
+ * @returns The notification count, or undefined if there is no count
615
+ * for this type.
616
+ */
617
+ getThreadUnreadNotificationCount(threadId: string, type?: NotificationCountType): number;
618
+ /**
619
+ * Checks if the current room has unread thread notifications
620
+ * @returns
621
+ */
622
+ hasThreadUnreadNotification(): boolean;
623
+ /**
624
+ * Swet one of the notification count for a thread
625
+ * @param threadId - the root event ID
626
+ * @param type - The type of notification count to get. default: 'total'
627
+ * @returns
628
+ */
629
+ setThreadUnreadNotificationCount(threadId: string, type: NotificationCountType, count: number): void;
630
+ /**
631
+ * @returns the notification count type for all the threads in the room
632
+ */
633
+ get threadsAggregateNotificationType(): NotificationCountType | null;
634
+ /**
635
+ * Resets the total thread notifications for all threads in this room to zero,
636
+ * excluding any threads whose IDs are given in `exceptThreadIds`.
637
+ *
638
+ * If the room is not encrypted, also resets the highlight notification count to zero
639
+ * for the same set of threads.
640
+ *
641
+ * This is intended for use from the sync code since we calculate highlight notification
642
+ * counts locally from decrypted messages. We want to partially trust the total from the
643
+ * server such that we clear notifications when read receipts arrive. The weird name is
644
+ * intended to reflect this. You probably do not want to use this.
645
+ *
646
+ * @param exceptThreadIds - The thread IDs to exclude from the reset.
647
+ */
648
+ resetThreadUnreadNotificationCountFromSync(exceptThreadIds?: string[]): void;
649
+ /**
650
+ * Set the bump stamp for this room. This can be used for sorting rooms when the timeline
651
+ * entries are unknown. Used in MSC4186: Simplified Sliding Sync.
652
+ * @param bumpStamp The bump_stamp value from the server
653
+ */
654
+ setBumpStamp(bumpStamp: number): void;
655
+ /**
656
+ * Get the bump stamp for this room. This can be used for sorting rooms when the timeline
657
+ * entries are unknown. Used in MSC4186: Simplified Sliding Sync.
658
+ * @returns The bump stamp for the room, if it exists.
659
+ */
660
+ getBumpStamp(): number | undefined;
661
+ /**
662
+ * Set one of the notification counts for this room
663
+ * @param type - The type of notification count to set.
664
+ * @param count - The new count
665
+ */
666
+ setUnreadNotificationCount(type: NotificationCountType, count: number): void;
667
+ setUnread(type: NotificationCountType, count: number): void;
668
+ /**
669
+ * Takes a legacy room summary (/v3/sync as opposed to MSC4186) and updates the room with it.
670
+ *
671
+ * @param summary - The room summary to update the room with
672
+ */
673
+ setSummary(summary: IRoomSummary): void;
674
+ /**
675
+ * Takes information from the MSC4186 room summary and updates the room with it.
676
+ *
677
+ * @param heroes - The room's hero members
678
+ * @param joinedCount - The number of joined members
679
+ * @param invitedCount - The number of invited members
680
+ */
681
+ setMSC4186SummaryData(heroes: MSC4186Hero[] | undefined, joinedCount: number | undefined, invitedCount: number | undefined): void;
682
+ /**
683
+ * Whether to send encrypted messages to devices within this room.
684
+ * @param value - true to blacklist unverified devices, null
685
+ * to use the global value for this room.
686
+ */
687
+ setBlacklistUnverifiedDevices(value: boolean): void;
688
+ /**
689
+ * Whether to send encrypted messages to devices within this room.
690
+ * @returns true if blacklisting unverified devices, null
691
+ * if the global value should be used for this room.
692
+ */
693
+ getBlacklistUnverifiedDevices(): boolean | null;
694
+ /**
695
+ * Get the avatar URL for a room if one was set.
696
+ * @param baseUrl - The homeserver base URL. See
697
+ * {@link BriijClient#getHomeserverUrl}.
698
+ * @param width - The desired width of the thumbnail.
699
+ * @param height - The desired height of the thumbnail.
700
+ * @param resizeMethod - The thumbnail resize method to use, either
701
+ * "crop" or "scale".
702
+ * @param allowDefault - True to allow an identicon for this room if an
703
+ * avatar URL wasn't explicitly set. Default: true. (Deprecated)
704
+ * @param useAuthentication - (optional) If true, the caller supports authenticated
705
+ * media and wants an authentication-required URL. Note that server support for
706
+ * authenticated media will not be checked - it is the caller's responsibility
707
+ * to do so before calling this function. Note also that useAuthentication
708
+ * implies allowRedirects. Defaults to false (unauthenticated endpoints).
709
+ * @returns the avatar URL or null.
710
+ */
711
+ getAvatarUrl(baseUrl: string, width: number, height: number, resizeMethod: ResizeMethod, allowDefault?: boolean, useAuthentication?: boolean): string | null;
712
+ /**
713
+ * Get the mxc avatar url for the room, if one was set.
714
+ * @returns the mxc avatar url or falsy
715
+ */
716
+ getMxcAvatarUrl(): string | null;
717
+ /**
718
+ * Get this room's canonical alias
719
+ * The alias returned by this function may not necessarily
720
+ * still point to this room.
721
+ * @returns The room's canonical alias, or null if there is none
722
+ */
723
+ getCanonicalAlias(): string | null;
724
+ /**
725
+ * Get this room's alternative aliases
726
+ * @returns The room's alternative aliases, or an empty array
727
+ */
728
+ getAltAliases(): string[];
729
+ /**
730
+ * Add events to a timeline
731
+ *
732
+ * <p>Will fire "Room.timeline" for each event added.
733
+ *
734
+ * @param events - A list of events to add.
735
+ *
736
+ * @param toStartOfTimeline - True to add these events to the start
737
+ * (oldest) instead of the end (newest) of the timeline. If true, the oldest
738
+ * event will be the <b>last</b> element of 'events'.
739
+ *
740
+ * @param timeline - timeline to
741
+ * add events to.
742
+ *
743
+ * @param paginationToken - token for the next batch of events
744
+ *
745
+ * @remarks
746
+ * Fires {@link RoomEvent.Timeline}
747
+ */
748
+ addEventsToTimeline(events: BriijEvent[], toStartOfTimeline: boolean, addToState: boolean, timeline: EventTimeline, paginationToken?: string): void;
749
+ /**
750
+ * Get the instance of the thread associated with the current event
751
+ * @param eventId - the ID of the current event
752
+ * @returns a thread instance if known
753
+ */
754
+ getThread(eventId: string): Thread | null;
755
+ /**
756
+ * Get all the known threads in the room
757
+ */
758
+ getThreads(): Thread[];
759
+ /**
760
+ * Get a member from the current room state.
761
+ * @param userId - The user ID of the member.
762
+ * @returns The member or `null`.
763
+ */
764
+ getMember(userId: string): RoomMember | null;
765
+ /**
766
+ * Get all currently loaded members from the current
767
+ * room state.
768
+ * @returns Room members
769
+ */
770
+ getMembers(): RoomMember[];
771
+ /**
772
+ * Get a list of members whose membership state is "join".
773
+ * @returns A list of currently joined members.
774
+ */
775
+ getJoinedMembers(): RoomMember[];
776
+ /**
777
+ * Returns the number of joined members in this room
778
+ * This method caches the result.
779
+ * This is a wrapper around the method of the same name in roomState, returning
780
+ * its result for the room's current state.
781
+ * @returns The number of members in this room whose membership is 'join'
782
+ */
783
+ getJoinedMemberCount(): number;
784
+ /**
785
+ * Returns the number of invited members in this room
786
+ * @returns The number of members in this room whose membership is 'invite'
787
+ */
788
+ getInvitedMemberCount(): number;
789
+ /**
790
+ * Returns the number of invited + joined members in this room
791
+ * @returns The number of members in this room whose membership is 'invite' or 'join'
792
+ */
793
+ getInvitedAndJoinedMemberCount(): number;
794
+ /**
795
+ * Get a list of members with given membership state.
796
+ * @param membership - The membership state.
797
+ * @returns A list of members with the given membership state.
798
+ */
799
+ getMembersWithMembership(membership: Membership): RoomMember[];
800
+ /**
801
+ * Get a list of members we should be encrypting for in this room
802
+ * @returns A list of members who
803
+ * we should encrypt messages for in this room.
804
+ */
805
+ getEncryptionTargetMembers(): Promise<RoomMember[]>;
806
+ /**
807
+ * Determine whether we should encrypt messages for invited users in this room
808
+ * @returns if we should encrypt messages for invited users
809
+ */
810
+ shouldEncryptForInvitedMembers(): boolean;
811
+ /**
812
+ * Get the default room name (i.e. what a given user would see if the
813
+ * room had no m.room.name)
814
+ * @param userId - The userId from whose perspective we want
815
+ * to calculate the default name
816
+ * @returns The default room name
817
+ */
818
+ getDefaultRoomName(userId: string): string;
819
+ /**
820
+ * Check if the given user_id has the given membership state.
821
+ * @param userId - The user ID to check.
822
+ * @param membership - The membership e.g. `'join'`
823
+ * @returns True if this user_id has the given membership state.
824
+ */
825
+ hasMembershipState(userId: string, membership: Membership): boolean;
826
+ /**
827
+ * Add a timelineSet for this room with the given filter
828
+ * @param filter - The filter to be applied to this timelineSet
829
+ * @param opts - Configuration options
830
+ * @returns The timelineSet
831
+ */
832
+ getOrCreateFilteredTimelineSet(filter: Filter, { prepopulateTimeline, useSyncEvents, pendingEvents }?: ICreateFilterOpts): EventTimelineSet;
833
+ private getThreadListFilter;
834
+ private createThreadTimelineSet;
835
+ private threadsReady;
836
+ /**
837
+ * Takes the given thread root events and creates threads for them.
838
+ */
839
+ processThreadRoots(events: BriijEvent[], toStartOfTimeline: boolean): void;
840
+ /**
841
+ * Fetch the bare minimum of room threads required for the thread list to work reliably.
842
+ * With server support that means fetching one page.
843
+ * Without server support that means fetching as much at once as the server allows us to.
844
+ */
845
+ fetchRoomThreads(): Promise<void>;
846
+ /**
847
+ * Process a list of poll events.
848
+ *
849
+ * @param events - List of events
850
+ */
851
+ processPollEvents(events: BriijEvent[]): Promise<void>;
852
+ /**
853
+ * Processes poll events:
854
+ * If the event has a decryption failure, it will listen for decryption and tries again.
855
+ * If it is a poll start event (`m.poll.start`),
856
+ * it creates and stores a Poll model and emits a PollEvent.New event.
857
+ * If the event is related to a poll, it will add it to the poll.
858
+ * Noop for other cases.
859
+ *
860
+ * @param event - Event that could be a poll event
861
+ */
862
+ private processPollEvent;
863
+ /**
864
+ * Fetch a single page of threadlist messages for the specific thread filter
865
+ * @internal
866
+ */
867
+ private fetchRoomThreadList;
868
+ private onThreadUpdate;
869
+ private onThreadReply;
870
+ private onThreadDelete;
871
+ /**
872
+ * Forget the timelineSet for this room with the given filter
873
+ *
874
+ * @param filter - the filter whose timelineSet is to be forgotten
875
+ */
876
+ removeFilteredTimelineSet(filter: Filter): void;
877
+ /**
878
+ * Determine which timeline(s) a given event should live in
879
+ * Thread roots live in both the main timeline and their corresponding thread timeline
880
+ * Relations, redactions, replies to thread relation events live only in the thread timeline
881
+ * Relations (other than m.thread), redactions, replies to a thread root live only in the main timeline
882
+ * Relations, redactions, replies where the parent cannot be found live in no timelines but should be aggregated regardless.
883
+ * Otherwise, the event lives in the main timeline only.
884
+ *
885
+ * Note: when a redaction is applied, the redacted event, events relating
886
+ * to it, and the redaction event itself, will all move to the main thread.
887
+ * This method classifies them as inside the thread of the redacted event.
888
+ * They are moved later as part of makeRedacted.
889
+ * This will change if MSC3389 is merged.
890
+ */
891
+ eventShouldLiveIn(event: BriijEvent, events?: BriijEvent[], roots?: Set<string>): {
892
+ shouldLiveInRoom: boolean;
893
+ shouldLiveInThread: boolean;
894
+ threadId?: string;
895
+ };
896
+ findThreadForEvent(event?: BriijEvent): Thread | null;
897
+ private addThreadedEvents;
898
+ /**
899
+ * Adds events to a thread's timeline. Will fire "Thread.update"
900
+ */
901
+ processThreadedEvents(events: BriijEvent[], toStartOfTimeline: boolean): void;
902
+ private updateThreadRootEvents;
903
+ private updateThreadRootEvent;
904
+ createThread(threadId: string, rootEvent: BriijEvent | undefined, events: BriijEvent[] | undefined, toStartOfTimeline: boolean): Thread;
905
+ /**
906
+ * Applies an event as a redaction of another event, regardless of whether the redacting
907
+ * event is actually a redaction.
908
+ *
909
+ * Callers should use tryApplyRedaction instead.
910
+ *
911
+ * @param redactionEvent The event which redacts an event.
912
+ * @param redactedEvent The event being redacted.
913
+ * @private
914
+ */
915
+ private applyEventAsRedaction;
916
+ private tryApplyRedaction;
917
+ private processLiveEvent;
918
+ /**
919
+ * Add an event to the end of this room's live timelines. Will fire
920
+ * "Room.timeline".
921
+ *
922
+ * @param event - Event to be added
923
+ * @param addLiveEventOptions - addLiveEvent options
924
+ * @internal
925
+ *
926
+ * @remarks
927
+ * Fires {@link RoomEvent.Timeline}
928
+ */
929
+ private addLiveEvent;
930
+ /**
931
+ * Add a pending outgoing event to this room.
932
+ *
933
+ * <p>The event is added to either the pendingEventList, or the live timeline,
934
+ * depending on the setting of opts.pendingEventOrdering.
935
+ *
936
+ * <p>This is an internal method, intended for use by BriijClient.
937
+ *
938
+ * @param event - The event to add.
939
+ *
940
+ * @param txnId - Transaction id for this outgoing event
941
+ *
942
+ * @throws if the event doesn't have status SENDING, or we aren't given a
943
+ * unique transaction id.
944
+ *
945
+ * @remarks
946
+ * Fires {@link RoomEvent.LocalEchoUpdated}
947
+ */
948
+ addPendingEvent(event: BriijEvent, txnId: string): void;
949
+ /**
950
+ * Persists all pending events to local storage
951
+ *
952
+ * If the current room is encrypted only encrypted events will be persisted
953
+ * all messages that are not yet encrypted will be discarded
954
+ *
955
+ * This is because the flow of EVENT_STATUS transition is
956
+ * `queued => sending => encrypting => sending => sent`
957
+ *
958
+ * Steps 3 and 4 are skipped for unencrypted room.
959
+ * It is better to discard an unencrypted message rather than persisting
960
+ * it locally for everyone to read
961
+ */
962
+ private savePendingEvents;
963
+ /**
964
+ * Used to aggregate the local echo for a relation, and also
965
+ * for re-applying a relation after it's redaction has been cancelled,
966
+ * as the local echo for the redaction of the relation would have
967
+ * un-aggregated the relation. Note that this is different from regular messages,
968
+ * which are just kept detached for their local echo.
969
+ *
970
+ * Also note that live events are aggregated in the live EventTimelineSet.
971
+ * @param event - the relation event that needs to be aggregated.
972
+ */
973
+ private aggregateNonLiveRelation;
974
+ getEventForTxnId(txnId: string): BriijEvent | undefined;
975
+ /**
976
+ * Deal with the echo of a message we sent.
977
+ *
978
+ * <p>We move the event to the live timeline if it isn't there already, and
979
+ * update it.
980
+ *
981
+ * @param remoteEvent - The event received from
982
+ * /sync
983
+ * @param localEvent - The local echo, which
984
+ * should be either in the pendingEventList or the timeline.
985
+ *
986
+ * @internal
987
+ *
988
+ * @remarks
989
+ * Fires {@link RoomEvent.LocalEchoUpdated}
990
+ */
991
+ handleRemoteEcho(remoteEvent: BriijEvent, localEvent: BriijEvent): void;
992
+ /**
993
+ * Update the status / event id on a pending event, to reflect its transmission
994
+ * progress.
995
+ *
996
+ * <p>This is an internal method.
997
+ *
998
+ * @param event - local echo event
999
+ * @param newStatus - status to assign
1000
+ * @param newEventId - new event id to assign. Ignored unless newStatus == EventStatus.SENT.
1001
+ *
1002
+ * @remarks
1003
+ * Fires {@link RoomEvent.LocalEchoUpdated}
1004
+ */
1005
+ updatePendingEvent(event: BriijEvent, newStatus: EventStatus, newEventId?: string): void;
1006
+ private revertRedactionLocalEcho;
1007
+ private assertTimelineSetsAreLive;
1008
+ /**
1009
+ * Add some events to this room. This can include state events, message
1010
+ * events and typing notifications. These events are treated as "live" so
1011
+ * they will go to the end of the timeline.
1012
+ *
1013
+ * @param events - A list of events to add.
1014
+ * @param addLiveEventOptions - addLiveEvent options
1015
+ * @throws If `duplicateStrategy` is not falsey, 'replace' or 'ignore'.
1016
+ */
1017
+ addLiveEvents(events: BriijEvent[], addLiveEventOptions: IAddLiveEventOptions): Promise<void>;
1018
+ partitionThreadedEvents(events: BriijEvent[]): [timelineEvents: BriijEvent[], threadedEvents: BriijEvent[], unknownRelations: BriijEvent[]];
1019
+ /**
1020
+ * Given some events, find the IDs of all the thread roots that are referred to by them.
1021
+ */
1022
+ private findThreadRoots;
1023
+ /**
1024
+ * Add a receipt event to the room.
1025
+ * @param event - The m.receipt event.
1026
+ * @param synthetic - True if this event is implicit.
1027
+ */
1028
+ addReceipt(event: BriijEvent, synthetic?: boolean): void;
1029
+ /**
1030
+ * Adds/handles ephemeral events such as typing notifications and read receipts.
1031
+ * @param events - A list of events to process
1032
+ */
1033
+ addEphemeralEvents(events: BriijEvent[]): void;
1034
+ /**
1035
+ * Removes events from this room.
1036
+ * @param eventIds - A list of eventIds to remove.
1037
+ */
1038
+ removeEvents(eventIds: string[]): void;
1039
+ /**
1040
+ * Removes a single event from this room.
1041
+ *
1042
+ * @param eventId - The id of the event to remove
1043
+ *
1044
+ * @returns true if the event was removed from any of the room's timeline sets
1045
+ */
1046
+ removeEvent(eventId: string): boolean;
1047
+ /**
1048
+ * Recalculate various aspects of the room, including the room name and
1049
+ * room summary. Call this any time the room's current state is modified.
1050
+ * May fire "Room.name" if the room name is updated.
1051
+ *
1052
+ * @remarks
1053
+ * Fires {@link RoomEvent.Name}
1054
+ */
1055
+ recalculate(): void;
1056
+ /**
1057
+ * Update the room-tag event for the room. The previous one is overwritten.
1058
+ * @param event - the m.tag event
1059
+ */
1060
+ addTags(event: BriijEvent): void;
1061
+ /**
1062
+ * Update the account_data events for this room, overwriting events of the same type.
1063
+ * @param events - an array of account_data events to add
1064
+ */
1065
+ addAccountData(events: BriijEvent[]): void;
1066
+ /**
1067
+ * Access account_data event of given event type for this room
1068
+ * @param type - the type of account_data event to be accessed
1069
+ * @returns the account_data event in question
1070
+ */
1071
+ getAccountData(type: EventType | string): BriijEvent | undefined;
1072
+ /**
1073
+ * Get an iterator of currently active sticky events.
1074
+ */
1075
+ _unstable_getStickyEvents(): ReturnType<RoomStickyEventsStore["getStickyEvents"]>;
1076
+ /**
1077
+ * Get a sticky event that match the given `type`, `sender`, and `stickyKey`
1078
+ * @param type The event `type`.
1079
+ * @param sender The sender of the sticky event.
1080
+ * @param stickyKey The sticky key used by the event.
1081
+ * @returns A matching active sticky event, or undefined.
1082
+ */
1083
+ _unstable_getKeyedStickyEvent(sender: string, type: string, stickyKey: string): ReturnType<RoomStickyEventsStore["getKeyedStickyEvent"]>;
1084
+ /**
1085
+ * Get active sticky events without a sticky key that match the given `type` and `sender`.
1086
+ * @param type The event `type`.
1087
+ * @param sender The sender of the sticky event.
1088
+ * @returns An array of matching sticky events.
1089
+ */
1090
+ _unstable_getUnkeyedStickyEvent(sender: string, type: string): ReturnType<RoomStickyEventsStore["getUnkeyedStickyEvent"]>;
1091
+ /**
1092
+ * Add a series of sticky events, emitting `RoomEvent.StickyEvents` if any
1093
+ * changes were made.
1094
+ * @param events A set of new sticky events.
1095
+ * @internal
1096
+ */
1097
+ _unstable_addStickyEvents(events: BriijEvent[]): ReturnType<RoomStickyEventsStore["addStickyEvents"]>;
1098
+ /**
1099
+ * Returns whether the syncing user has permission to send a message in the room
1100
+ * @returns true if the user should be permitted to send
1101
+ * message events into the room.
1102
+ */
1103
+ maySendMessage(): boolean;
1104
+ /**
1105
+ * Returns whether the given user has permissions to issue an invite for this room.
1106
+ * @param userId - the ID of the Matrix user to check permissions for
1107
+ * @returns true if the user should be permitted to issue invites for this room.
1108
+ */
1109
+ canInvite(userId: string): boolean;
1110
+ /**
1111
+ * Returns the join rule based on the m.room.join_rule state event, defaulting to `invite`.
1112
+ * @returns the join_rule applied to this room
1113
+ */
1114
+ getJoinRule(): JoinRule;
1115
+ /**
1116
+ * Returns the history visibility based on the m.room.history_visibility state event, defaulting to `shared`.
1117
+ * @returns the history_visibility applied to this room
1118
+ */
1119
+ getHistoryVisibility(): HistoryVisibility;
1120
+ /**
1121
+ * Returns the history visibility based on the m.room.history_visibility state event, defaulting to `shared`.
1122
+ * @returns the history_visibility applied to this room
1123
+ */
1124
+ getGuestAccess(): GuestAccess;
1125
+ /**
1126
+ * Returns the type of the room from the `m.room.create` event content or undefined if none is set
1127
+ * @returns the type of the room.
1128
+ */
1129
+ getType(): RoomType | string | undefined;
1130
+ /**
1131
+ * Returns whether the room is a space-room as defined by MSC1772.
1132
+ * @returns true if the room's type is RoomType.Space
1133
+ */
1134
+ isSpaceRoom(): boolean;
1135
+ /**
1136
+ * Returns whether the room is a call-room as defined by MSC3417.
1137
+ * @returns true if the room's type is RoomType.UnstableCall
1138
+ */
1139
+ isCallRoom(): boolean;
1140
+ /**
1141
+ * Returns whether the room is a video room.
1142
+ * @returns true if the room's type is RoomType.ElementVideo
1143
+ */
1144
+ isElementVideoRoom(): boolean;
1145
+ /**
1146
+ * Find the predecessor of this room.
1147
+ *
1148
+ * @param msc3946ProcessDynamicPredecessor - if true, look for an
1149
+ * m.room.predecessor state event and use it if found (MSC3946).
1150
+ * @returns null if this room has no predecessor. Otherwise, returns
1151
+ * the roomId, last eventId and viaServers of the predecessor room.
1152
+ *
1153
+ * If msc3946ProcessDynamicPredecessor is true, use m.predecessor events
1154
+ * as well as m.room.create events to find predecessors.
1155
+ *
1156
+ * Note: if an m.predecessor event is used, eventId may be undefined
1157
+ * since last_known_event_id is optional.
1158
+ *
1159
+ * Note: viaServers may be undefined, and will definitely be undefined if
1160
+ * this predecessor comes from a RoomCreate event (rather than a
1161
+ * RoomPredecessor, which has the optional via_servers property).
1162
+ */
1163
+ findPredecessor(msc3946ProcessDynamicPredecessor?: boolean): {
1164
+ roomId: string;
1165
+ eventId?: string;
1166
+ viaServers?: string[];
1167
+ } | null;
1168
+ private roomNameGenerator;
1169
+ /**
1170
+ * This is an internal method. Calculates the name of the room from the current
1171
+ * room state.
1172
+ * @param userId - The client's user ID. Used to filter room members
1173
+ * correctly.
1174
+ * @param ignoreRoomNameEvent - Return the implicit room name that we'd see if there
1175
+ * was no m.room.name event.
1176
+ * @returns The calculated room name.
1177
+ */
1178
+ private calculateRoomName;
1179
+ /**
1180
+ * When we receive a new visibility change event:
1181
+ *
1182
+ * - store this visibility change alongside the timeline, in case we
1183
+ * later need to apply it to an event that we haven't received yet;
1184
+ * - if we have already received the event whose visibility has changed,
1185
+ * patch it to reflect the visibility change and inform listeners.
1186
+ */
1187
+ private applyNewVisibilityEvent;
1188
+ private redactVisibilityChangeEvent;
1189
+ /**
1190
+ * When we receive an event whose visibility has been altered by
1191
+ * a (more recent) visibility change event, patch the event in
1192
+ * place so that clients now not to display it.
1193
+ *
1194
+ * @param event - Any matrix event. If this event has at least one a
1195
+ * pending visibility change event, apply the latest visibility
1196
+ * change event.
1197
+ */
1198
+ private applyPendingVisibilityEvents;
1199
+ /**
1200
+ * Find when a client has gained thread capabilities by inspecting the oldest
1201
+ * threaded receipt
1202
+ * @returns the timestamp of the oldest threaded receipt
1203
+ */
1204
+ getOldestThreadedReceiptTs(): number;
1205
+ /**
1206
+ * Determines if the given user has read a particular event ID with the known
1207
+ * history of the room. This is not a definitive check as it relies only on
1208
+ * what is available to the room at the time of execution.
1209
+ *
1210
+ * @param userId - The user ID to check the read state of.
1211
+ * @param eventId - The event ID to check if the user read.
1212
+ * @returns true if the user has read the event, false otherwise.
1213
+ */
1214
+ hasUserReadEvent(userId: string, eventId: string): boolean;
1215
+ /**
1216
+ * Returns the most recent unthreaded receipt for a given user
1217
+ * @param userId - the MxID of the User
1218
+ * @returns an unthreaded Receipt. Can be undefined if receipts have been disabled
1219
+ * or a user chooses to use private read receipts (or we have simply not received
1220
+ * a receipt from this user yet).
1221
+ */
1222
+ getLastUnthreadedReceiptFor(userId: string): Receipt | undefined;
1223
+ /**
1224
+ * This issue should also be addressed on synapse's side and is tracked as part
1225
+ * of https://github.com/matrix-org/synapse/issues/14837
1226
+ *
1227
+ *
1228
+ * We consider a room fully read if the current user has sent
1229
+ * the last event in the live timeline of that context and if the read receipt
1230
+ * we have on record matches.
1231
+ * This also detects all unread threads and applies the same logic to those
1232
+ * contexts
1233
+ */
1234
+ fixupNotifications(userId: string): void;
1235
+ /**
1236
+ * Determine the order of two events in this room.
1237
+ *
1238
+ * In principle this should use the same order as the server, but in practice
1239
+ * this is difficult for events that were not received over the Sync API. See
1240
+ * MSC4033 for details.
1241
+ *
1242
+ * This implementation leans on the order of events within their timelines, and
1243
+ * falls back to comparing event timestamps when they are in different
1244
+ * timelines.
1245
+ *
1246
+ * See https://github.com/matrix-org/matrix-js-sdk/issues/3325 for where we are
1247
+ * tracking the work to fix this.
1248
+ *
1249
+ * @param leftEventId - the id of the first event
1250
+ * @param rightEventId - the id of the second event
1251
+
1252
+ * @returns -1 if left \< right, 1 if left \> right, 0 if left == right, null if
1253
+ * we can't tell (because we can't find the events).
1254
+ */
1255
+ compareEventOrdering(leftEventId: string, rightEventId: string): number | null;
1256
+ /**
1257
+ * Return true if this room has an `m.room.encryption` state event.
1258
+ *
1259
+ * If this returns `true`, events sent to this room should be encrypted (and `BriijClient.sendEvent` and friends
1260
+ * will encrypt outgoing events).
1261
+ */
1262
+ hasEncryptionStateEvent(): boolean;
1263
+ }
1264
+ export declare enum RoomNameType {
1265
+ EmptyRoom = 0,
1266
+ Generated = 1,
1267
+ Actual = 2
1268
+ }
1269
+ export interface EmptyRoomNameState {
1270
+ type: RoomNameType.EmptyRoom;
1271
+ oldName?: string;
1272
+ }
1273
+ export interface GeneratedRoomNameState {
1274
+ type: RoomNameType.Generated;
1275
+ subtype?: "Inviting";
1276
+ names: string[];
1277
+ count: number;
1278
+ }
1279
+ export interface ActualRoomNameState {
1280
+ type: RoomNameType.Actual;
1281
+ name: string;
1282
+ }
1283
+ export type RoomNameState = EmptyRoomNameState | GeneratedRoomNameState | ActualRoomNameState;
1284
+ export {};
1285
+ //# sourceMappingURL=room.d.ts.map