@unwanted/matrix-sdk-mini 34.12.0-1

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