@liveblocks/react 2.15.2 → 2.16.0-rc1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -1,128 +1,21 @@
1
- import * as _liveblocks_core from '@liveblocks/core';
2
- import { BaseMetadata, CommentBody, Patchable, StorageStatus, QueryMetadata, AsyncResult, DRI, AsyncSuccess, Resolve, CommentAttachment, PartialUnless, InboxNotificationData, ToImmutable, AsyncLoading, AsyncError, ThreadData, HistoryVersion, Client, SyncStatus, LiveblocksError, RoomEventMessage, CommentData, MutableSignal, ThreadDataWithDeleteInfo, ThreadDeleteInfo, DerivedSignal, DefaultMap, OpaqueClient, CommentUserReaction, InboxNotificationDeleteInfo, RoomNotificationSettings as RoomNotificationSettings$1, ISignal, Permission, BaseUserMeta as BaseUserMeta$1, DistributiveOmit, DU, DM, OpaqueRoom, TextEditorType, IYjsProvider, DP, DS, DE } from '@liveblocks/core';
3
- import * as react_jsx_runtime from 'react/jsx-runtime';
4
1
  import * as react from 'react';
5
2
  import { Context, PropsWithChildren, ReactNode } from 'react';
6
- import { JsonObject, LsonObject, BaseUserMeta, LiveObject, User, Json, RoomNotificationSettings, Room, Status, BroadcastOptions, OthersEvent, LostConnectionEvent, History, BaseMetadata as BaseMetadata$1, Client as Client$1, ClientOptions, StorageStatus as StorageStatus$1, ThreadData as ThreadData$1, CommentData as CommentData$1 } from '@liveblocks/client';
3
+ import { JsonObject, LsonObject, BaseUserMeta, Json, BaseMetadata, Room, LiveObject, User, RoomNotificationSettings, Status, BroadcastOptions, OthersEvent, LostConnectionEvent, History, Client as Client$1, ClientOptions, StorageStatus as StorageStatus$1, ThreadData as ThreadData$1, CommentData as CommentData$1 } from '@liveblocks/client';
4
+ import * as _liveblocks_core from '@liveblocks/core';
5
+ import { OpaqueRoom, BaseMetadata as BaseMetadata$1, StorageStatus, QueryMetadata, AsyncResult, DRI, AsyncSuccess, Resolve, CommentBody, CommentAttachment, PartialUnless, Patchable, InboxNotificationData, Relax, ToImmutable, AsyncLoading, AsyncError, ThreadData, HistoryVersion, Client, LiveblocksError, SyncStatus, RoomEventMessage, CommentData, MutableSignal, ThreadDataWithDeleteInfo, ThreadDeleteInfo, DerivedSignal, DefaultMap, OpaqueClient, CommentUserReaction, InboxNotificationDeleteInfo, RoomNotificationSettings as RoomNotificationSettings$1, ISignal, Permission, BaseUserMeta as BaseUserMeta$1, DistributiveOmit, DU, DM, TextEditorType, IYjsProvider, DP, DS, DE } from '@liveblocks/core';
6
+ import * as react_jsx_runtime from 'react/jsx-runtime';
7
7
 
8
8
  /**
9
- * @private Internal API, do not rely on it.
10
- */
11
- declare class CreateThreadError<M extends BaseMetadata> extends Error {
12
- cause: Error;
13
- context: {
14
- roomId: string;
15
- threadId: string;
16
- commentId: string;
17
- body: CommentBody;
18
- metadata: M;
19
- };
20
- constructor(cause: Error, context: {
21
- roomId: string;
22
- threadId: string;
23
- commentId: string;
24
- body: CommentBody;
25
- metadata: M;
26
- });
27
- }
28
- /**
29
- * @private Internal API, do not rely on it.
30
- */
31
- declare class EditThreadMetadataError<M extends BaseMetadata> extends Error {
32
- cause: Error;
33
- context: {
34
- roomId: string;
35
- threadId: string;
36
- metadata: Patchable<M>;
37
- };
38
- constructor(cause: Error, context: {
39
- roomId: string;
40
- threadId: string;
41
- metadata: Patchable<M>;
42
- });
43
- }
44
- /**
45
- * @private Internal API, do not rely on it.
46
- */
47
- declare class CreateCommentError extends Error {
48
- cause: Error;
49
- context: {
50
- roomId: string;
51
- threadId: string;
52
- commentId: string;
53
- body: CommentBody;
54
- };
55
- constructor(cause: Error, context: {
56
- roomId: string;
57
- threadId: string;
58
- commentId: string;
59
- body: CommentBody;
60
- });
61
- }
62
- /**
63
- * @private Internal API, do not rely on it.
64
- */
65
- declare class EditCommentError extends Error {
66
- cause: Error;
67
- context: {
68
- roomId: string;
69
- threadId: string;
70
- commentId: string;
71
- body: CommentBody;
72
- };
73
- constructor(cause: Error, context: {
74
- roomId: string;
75
- threadId: string;
76
- commentId: string;
77
- body: CommentBody;
78
- });
79
- }
80
- /**
81
- * @private Internal API, do not rely on it.
82
- */
83
- declare class DeleteCommentError extends Error {
84
- cause: Error;
85
- context: {
86
- roomId: string;
87
- threadId: string;
88
- commentId: string;
89
- };
90
- constructor(cause: Error, context: {
91
- roomId: string;
92
- threadId: string;
93
- commentId: string;
94
- });
95
- }
96
- /**
97
- * @private Internal API, do not rely on it.
98
- */
99
- declare class MarkInboxNotificationAsReadError extends Error {
100
- cause: Error;
101
- context: {
102
- inboxNotificationId: string;
103
- };
104
- constructor(cause: Error, context: {
105
- inboxNotificationId: string;
106
- });
107
- }
108
- /**
109
- * @private Internal API, do not rely on it.
110
- */
111
- declare class UpdateNotificationSettingsError extends Error {
112
- cause: Error;
113
- context: {
114
- roomId: string;
115
- };
116
- constructor(cause: Error, context: {
117
- roomId: string;
118
- });
119
- }
120
- /**
121
- * @private Internal API, do not rely on it.
9
+ * Raw access to the React context where the RoomProvider stores the current
10
+ * room. Exposed for advanced use cases only.
11
+ *
12
+ * @private This is a private/advanced API. Do not rely on it.
122
13
  */
123
- declare type CommentsError<M extends BaseMetadata> = CreateThreadError<M> | EditThreadMetadataError<M> | CreateCommentError | EditCommentError | DeleteCommentError | MarkInboxNotificationAsReadError | UpdateNotificationSettingsError;
14
+ declare const RoomContext: react.Context<OpaqueRoom | null>;
15
+ /** @private */
16
+ declare function useRoomOrNull<P extends JsonObject, S extends LsonObject, U extends BaseUserMeta, E extends Json, M extends BaseMetadata>(): Room<P, S, U, E, M> | null;
124
17
 
125
- declare type UseSyncStatusOptions = {
18
+ type UseSyncStatusOptions = {
126
19
  /**
127
20
  * When setting smooth, the hook will not update immediately as status
128
21
  * changes. This is because in typical applications, these states can change
@@ -131,9 +24,9 @@ declare type UseSyncStatusOptions = {
131
24
  */
132
25
  smooth?: boolean;
133
26
  };
134
- declare type UseStorageStatusOptions = UseSyncStatusOptions;
135
- declare type StorageStatusSuccess = Exclude<StorageStatus, "not-loaded" | "loading">;
136
- declare type ThreadsQuery<M extends BaseMetadata> = {
27
+ type UseStorageStatusOptions = UseSyncStatusOptions;
28
+ type StorageStatusSuccess = Exclude<StorageStatus, "not-loaded" | "loading">;
29
+ type ThreadsQuery<M extends BaseMetadata$1> = {
137
30
  /**
138
31
  * Whether to only return threads marked as resolved or unresolved. If not provided,
139
32
  * all threads will be returned.
@@ -145,14 +38,14 @@ declare type ThreadsQuery<M extends BaseMetadata> = {
145
38
  */
146
39
  metadata?: Partial<QueryMetadata<M>>;
147
40
  };
148
- declare type UseUserThreadsOptions<M extends BaseMetadata> = {
41
+ type UseUserThreadsOptions<M extends BaseMetadata$1> = {
149
42
  /**
150
43
  * The query (including metadata) to filter the threads by. If provided, only threads
151
44
  * that match the query will be returned. If not provided, all threads will be returned.
152
45
  */
153
46
  query?: ThreadsQuery<M>;
154
47
  };
155
- declare type UseThreadsOptions<M extends BaseMetadata> = {
48
+ type UseThreadsOptions<M extends BaseMetadata$1> = {
156
49
  /**
157
50
  * The query (including metadata) to filter the threads by. If provided, only threads
158
51
  * that match the query will be returned. If not provided, all threads will be returned.
@@ -167,68 +60,62 @@ declare type UseThreadsOptions<M extends BaseMetadata> = {
167
60
  */
168
61
  scrollOnLoad?: boolean;
169
62
  };
170
- declare type UserAsyncResult<T> = AsyncResult<T, "user">;
171
- declare type UserAsyncSuccess<T> = AsyncSuccess<T, "user">;
172
- declare type RoomInfoAsyncResult = AsyncResult<DRI, "info">;
173
- declare type RoomInfoAsyncSuccess = AsyncSuccess<DRI, "info">;
174
- declare type AttachmentUrlAsyncResult = AsyncResult<string, "url">;
175
- declare type AttachmentUrlAsyncSuccess = AsyncSuccess<string, "url">;
176
- declare type CreateThreadOptions<M extends BaseMetadata> = Resolve<{
63
+ type UserAsyncResult<T> = AsyncResult<T, "user">;
64
+ type UserAsyncSuccess<T> = AsyncSuccess<T, "user">;
65
+ type RoomInfoAsyncResult = AsyncResult<DRI, "info">;
66
+ type RoomInfoAsyncSuccess = AsyncSuccess<DRI, "info">;
67
+ type AttachmentUrlAsyncResult = AsyncResult<string, "url">;
68
+ type AttachmentUrlAsyncSuccess = AsyncSuccess<string, "url">;
69
+ type CreateThreadOptions<M extends BaseMetadata$1> = Resolve<{
177
70
  body: CommentBody;
178
71
  attachments?: CommentAttachment[];
179
72
  } & PartialUnless<M, {
180
73
  metadata: M;
181
74
  }>>;
182
- declare type EditThreadMetadataOptions<M extends BaseMetadata> = {
75
+ type EditThreadMetadataOptions<M extends BaseMetadata$1> = {
183
76
  threadId: string;
184
77
  metadata: Patchable<M>;
185
78
  };
186
- declare type CreateCommentOptions = {
79
+ type CreateCommentOptions = {
187
80
  threadId: string;
188
81
  body: CommentBody;
189
82
  attachments?: CommentAttachment[];
190
83
  };
191
- declare type EditCommentOptions = {
84
+ type EditCommentOptions = {
192
85
  threadId: string;
193
86
  commentId: string;
194
87
  body: CommentBody;
195
88
  attachments?: CommentAttachment[];
196
89
  };
197
- declare type DeleteCommentOptions = {
90
+ type DeleteCommentOptions = {
198
91
  threadId: string;
199
92
  commentId: string;
200
93
  };
201
- declare type CommentReactionOptions = {
94
+ type CommentReactionOptions = {
202
95
  threadId: string;
203
96
  commentId: string;
204
97
  emoji: string;
205
98
  };
206
- declare type NoPaginationFields = {
207
- hasFetchedAll?: never;
208
- isFetchingMore?: never;
209
- fetchMore?: never;
210
- fetchMoreError?: never;
211
- };
212
- declare type PaginationFields = {
99
+ type PaginationFields = {
213
100
  hasFetchedAll: boolean;
214
101
  isFetchingMore: boolean;
215
102
  fetchMore: () => void;
216
103
  fetchMoreError?: Error;
217
104
  };
218
- declare type PagedAsyncSuccess<T, F extends string> = Resolve<AsyncSuccess<T, F> & PaginationFields>;
219
- declare type PagedAsyncResult<T, F extends string> = Resolve<AsyncLoading<F> & NoPaginationFields> | Resolve<AsyncError<F> & NoPaginationFields> | PagedAsyncSuccess<T, F>;
220
- declare type ThreadsAsyncSuccess<M extends BaseMetadata> = PagedAsyncSuccess<ThreadData<M>[], "threads">;
221
- declare type ThreadsAsyncResult<M extends BaseMetadata> = PagedAsyncResult<ThreadData<M>[], "threads">;
222
- declare type InboxNotificationsAsyncSuccess = PagedAsyncSuccess<InboxNotificationData[], "inboxNotifications">;
223
- declare type InboxNotificationsAsyncResult = PagedAsyncResult<InboxNotificationData[], "inboxNotifications">;
224
- declare type UnreadInboxNotificationsCountAsyncSuccess = AsyncSuccess<number, "count">;
225
- declare type UnreadInboxNotificationsCountAsyncResult = AsyncResult<number, "count">;
226
- declare type RoomNotificationSettingsAsyncSuccess = AsyncSuccess<RoomNotificationSettings, "settings">;
227
- declare type RoomNotificationSettingsAsyncResult = AsyncResult<RoomNotificationSettings, "settings">;
228
- declare type HistoryVersionDataAsyncResult = AsyncResult<Uint8Array>;
229
- declare type HistoryVersionsAsyncSuccess = AsyncSuccess<HistoryVersion[], "versions">;
230
- declare type HistoryVersionsAsyncResult = AsyncResult<HistoryVersion[], "versions">;
231
- declare type RoomProviderProps<P extends JsonObject, S extends LsonObject> = Resolve<{
105
+ type PagedAsyncSuccess<T, F extends string> = Resolve<AsyncSuccess<T, F> & PaginationFields>;
106
+ type PagedAsyncResult<T, F extends string> = Relax<AsyncLoading<F> | AsyncError<F> | PagedAsyncSuccess<T, F>>;
107
+ type ThreadsAsyncSuccess<M extends BaseMetadata$1> = PagedAsyncSuccess<ThreadData<M>[], "threads">;
108
+ type ThreadsAsyncResult<M extends BaseMetadata$1> = PagedAsyncResult<ThreadData<M>[], "threads">;
109
+ type InboxNotificationsAsyncSuccess = PagedAsyncSuccess<InboxNotificationData[], "inboxNotifications">;
110
+ type InboxNotificationsAsyncResult = PagedAsyncResult<InboxNotificationData[], "inboxNotifications">;
111
+ type UnreadInboxNotificationsCountAsyncSuccess = AsyncSuccess<number, "count">;
112
+ type UnreadInboxNotificationsCountAsyncResult = AsyncResult<number, "count">;
113
+ type RoomNotificationSettingsAsyncSuccess = AsyncSuccess<RoomNotificationSettings, "settings">;
114
+ type RoomNotificationSettingsAsyncResult = AsyncResult<RoomNotificationSettings, "settings">;
115
+ type HistoryVersionDataAsyncResult = AsyncResult<Uint8Array>;
116
+ type HistoryVersionsAsyncSuccess = AsyncSuccess<HistoryVersion[], "versions">;
117
+ type HistoryVersionsAsyncResult = AsyncResult<HistoryVersion[], "versions">;
118
+ type RoomProviderProps<P extends JsonObject, S extends LsonObject> = Resolve<{
232
119
  /**
233
120
  * The id of the room you want to connect to
234
121
  */
@@ -259,8 +146,8 @@ declare type RoomProviderProps<P extends JsonObject, S extends LsonObject> = Res
259
146
  * For any function type, returns a similar function type, but without the
260
147
  * first argument.
261
148
  */
262
- declare type OmitFirstArg<F> = F extends (first: any, ...rest: infer A) => infer R ? (...args: A) => R : never;
263
- declare type MutationContext<P extends JsonObject, S extends LsonObject, U extends BaseUserMeta> = {
149
+ type OmitFirstArg<F> = F extends (first: any, ...rest: infer A) => infer R ? (...args: A) => R : never;
150
+ type MutationContext<P extends JsonObject, S extends LsonObject, U extends BaseUserMeta> = {
264
151
  storage: LiveObject<S>;
265
152
  self: User<P, U>;
266
153
  others: readonly User<P, U>[];
@@ -268,17 +155,16 @@ declare type MutationContext<P extends JsonObject, S extends LsonObject, U exten
268
155
  addToHistory: boolean;
269
156
  }) => void;
270
157
  };
271
- declare type ThreadSubscription = {
158
+ type ThreadSubscription = Relax<{
272
159
  status: "not-subscribed";
273
- unreadSince?: never;
274
160
  } | {
275
161
  status: "subscribed";
276
162
  unreadSince: null;
277
163
  } | {
278
164
  status: "subscribed";
279
165
  unreadSince: Date;
280
- };
281
- declare type SharedContextBundle<U extends BaseUserMeta> = {
166
+ }>;
167
+ type SharedContextBundle<U extends BaseUserMeta> = {
282
168
  classic: {
283
169
  /**
284
170
  * Obtains a reference to the current Liveblocks client.
@@ -305,6 +191,17 @@ declare type SharedContextBundle<U extends BaseUserMeta> = {
305
191
  * const isInsideRoom = useIsInsideRoom();
306
192
  */
307
193
  useIsInsideRoom(): boolean;
194
+ /**
195
+ * useErrorListener is a React hook that allows you to respond to any
196
+ * Liveblocks error, for example room connection errors, errors
197
+ * creating/editing/deleting threads, etc.
198
+ *
199
+ * @example
200
+ * useErrorListener(err => {
201
+ * console.error(err);
202
+ * })
203
+ */
204
+ useErrorListener(callback: (err: LiveblocksError) => void): void;
308
205
  /**
309
206
  * Returns the current Liveblocks sync status, and triggers a re-render
310
207
  * whenever it changes. Can be used to render a "Saving..." indicator, or for
@@ -343,6 +240,17 @@ declare type SharedContextBundle<U extends BaseUserMeta> = {
343
240
  * const isInsideRoom = useIsInsideRoom();
344
241
  */
345
242
  useIsInsideRoom(): boolean;
243
+ /**
244
+ * useErrorListener is a React hook that allows you to respond to any
245
+ * Liveblocks error, for example room connection errors, errors
246
+ * creating/editing/deleting threads, etc.
247
+ *
248
+ * @example
249
+ * useErrorListener(err => {
250
+ * console.error(err);
251
+ * })
252
+ */
253
+ useErrorListener(callback: (err: LiveblocksError) => void): void;
346
254
  /**
347
255
  * Returns the current Liveblocks sync status, and triggers a re-render
348
256
  * whenever it changes. Can be used to render a "Saving..." indicator, or for
@@ -359,7 +267,7 @@ declare type SharedContextBundle<U extends BaseUserMeta> = {
359
267
  /**
360
268
  * Properties that are the same in RoomContext and RoomContext["suspense"].
361
269
  */
362
- declare type RoomContextBundleCommon<P extends JsonObject, S extends LsonObject, U extends BaseUserMeta, E extends Json, M extends BaseMetadata> = {
270
+ type RoomContextBundleCommon<P extends JsonObject, S extends LsonObject, U extends BaseUserMeta, E extends Json, M extends BaseMetadata$1> = {
363
271
  /**
364
272
  * You normally don't need to directly interact with the RoomContext, but
365
273
  * it can be necessary if you're building an advanced app where you need to
@@ -435,16 +343,6 @@ declare type RoomContextBundleCommon<P extends JsonObject, S extends LsonObject,
435
343
  * })
436
344
  */
437
345
  useLostConnectionListener(callback: (event: LostConnectionEvent) => void): void;
438
- /**
439
- * useErrorListener is a React hook that allows you to respond to potential room
440
- * connection errors.
441
- *
442
- * @example
443
- * useErrorListener(er => {
444
- * console.error(er);
445
- * })
446
- */
447
- useErrorListener(callback: (err: LiveblocksError) => void): void;
448
346
  /**
449
347
  * useEventListener is a React hook that allows you to respond to events broadcast
450
348
  * by other users in the room.
@@ -768,17 +666,7 @@ declare type RoomContextBundleCommon<P extends JsonObject, S extends LsonObject,
768
666
  */
769
667
  useThreadSubscription(threadId: string): ThreadSubscription;
770
668
  };
771
- /**
772
- * @private
773
- *
774
- * Private methods and variables used in the core internals, but as a user
775
- * of Liveblocks, NEVER USE ANY OF THESE DIRECTLY, because bad things
776
- * will probably happen if you do.
777
- */
778
- declare type PrivateRoomContextApi = {
779
- useCommentsErrorListener<M extends BaseMetadata>(callback: (err: CommentsError<M>) => void): void;
780
- };
781
- declare type RoomContextBundle<P extends JsonObject, S extends LsonObject, U extends BaseUserMeta, E extends Json, M extends BaseMetadata> = Resolve<RoomContextBundleCommon<P, S, U, E, M> & SharedContextBundle<U>["classic"] & {
669
+ type RoomContextBundle<P extends JsonObject, S extends LsonObject, U extends BaseUserMeta, E extends Json, M extends BaseMetadata$1> = Resolve<RoomContextBundleCommon<P, S, U, E, M> & SharedContextBundle<U>["classic"] & {
782
670
  /**
783
671
  * Returns the current storage status for the Room, and triggers
784
672
  * a re-render whenever it changes. Can be used to render a "Saving..."
@@ -970,11 +858,11 @@ declare type RoomContextBundle<P extends JsonObject, S extends LsonObject, U ext
970
858
  */
971
859
  useAttachmentUrl(attachmentId: string): AttachmentUrlAsyncSuccess;
972
860
  }>;
973
- } & PrivateRoomContextApi>;
861
+ }>;
974
862
  /**
975
863
  * Properties that are the same in LiveblocksContext and LiveblocksContext["suspense"].
976
864
  */
977
- declare type LiveblocksContextBundleCommon<M extends BaseMetadata> = {
865
+ type LiveblocksContextBundleCommon<M extends BaseMetadata$1> = {
978
866
  /**
979
867
  * Makes Liveblocks features outside of rooms (e.g. Notifications) available
980
868
  * in the component hierarchy below.
@@ -1040,7 +928,7 @@ declare type LiveblocksContextBundleCommon<M extends BaseMetadata> = {
1040
928
  */
1041
929
  useSyncStatus(options?: UseSyncStatusOptions): SyncStatus;
1042
930
  };
1043
- declare type LiveblocksContextBundle<U extends BaseUserMeta, M extends BaseMetadata> = Resolve<LiveblocksContextBundleCommon<M> & SharedContextBundle<U>["classic"] & {
931
+ type LiveblocksContextBundle<U extends BaseUserMeta, M extends BaseMetadata$1> = Resolve<LiveblocksContextBundleCommon<M> & SharedContextBundle<U>["classic"] & {
1044
932
  /**
1045
933
  * Returns the inbox notifications for the current user.
1046
934
  *
@@ -1087,7 +975,7 @@ declare type LiveblocksContextBundle<U extends BaseUserMeta, M extends BaseMetad
1087
975
  }>;
1088
976
  }>;
1089
977
 
1090
- declare type ReadonlyThreadDB<M extends BaseMetadata> = Omit<ThreadDB<M>, "upsert" | "delete" | "signal">;
978
+ type ReadonlyThreadDB<M extends BaseMetadata$1> = Omit<ThreadDB<M>, "upsert" | "delete" | "signal">;
1091
979
  /**
1092
980
  * This class implements a lightweight, in-memory, "database" for all Thread
1093
981
  * instances.
@@ -1105,7 +993,7 @@ declare type ReadonlyThreadDB<M extends BaseMetadata> = Omit<ThreadDB<M>, "upser
1105
993
  * optimistic updates without losing the original thread contents.
1106
994
  *
1107
995
  */
1108
- declare class ThreadDB<M extends BaseMetadata> {
996
+ declare class ThreadDB<M extends BaseMetadata$1> {
1109
997
  #private;
1110
998
  readonly signal: MutableSignal<this>;
1111
999
  constructor();
@@ -1138,50 +1026,50 @@ declare class ThreadDB<M extends BaseMetadata> {
1138
1026
  findMany(roomId: string | undefined, query: ThreadsQuery<M>, direction: "asc" | "desc"): ThreadData<M>[];
1139
1027
  }
1140
1028
 
1141
- declare type OptimisticUpdate<M extends BaseMetadata> = CreateThreadOptimisticUpdate<M> | DeleteThreadOptimisticUpdate | EditThreadMetadataOptimisticUpdate<M> | MarkThreadAsResolvedOptimisticUpdate | MarkThreadAsUnresolvedOptimisticUpdate | CreateCommentOptimisticUpdate | EditCommentOptimisticUpdate | DeleteCommentOptimisticUpdate | AddReactionOptimisticUpdate | RemoveReactionOptimisticUpdate | MarkInboxNotificationAsReadOptimisticUpdate | MarkAllInboxNotificationsAsReadOptimisticUpdate | DeleteInboxNotificationOptimisticUpdate | DeleteAllInboxNotificationsOptimisticUpdate | UpdateNotificationSettingsOptimisticUpdate;
1142
- declare type CreateThreadOptimisticUpdate<M extends BaseMetadata> = {
1029
+ type OptimisticUpdate<M extends BaseMetadata$1> = CreateThreadOptimisticUpdate<M> | DeleteThreadOptimisticUpdate | EditThreadMetadataOptimisticUpdate<M> | MarkThreadAsResolvedOptimisticUpdate | MarkThreadAsUnresolvedOptimisticUpdate | CreateCommentOptimisticUpdate | EditCommentOptimisticUpdate | DeleteCommentOptimisticUpdate | AddReactionOptimisticUpdate | RemoveReactionOptimisticUpdate | MarkInboxNotificationAsReadOptimisticUpdate | MarkAllInboxNotificationsAsReadOptimisticUpdate | DeleteInboxNotificationOptimisticUpdate | DeleteAllInboxNotificationsOptimisticUpdate | UpdateNotificationSettingsOptimisticUpdate;
1030
+ type CreateThreadOptimisticUpdate<M extends BaseMetadata$1> = {
1143
1031
  type: "create-thread";
1144
1032
  id: string;
1145
1033
  roomId: string;
1146
1034
  thread: ThreadData<M>;
1147
1035
  };
1148
- declare type DeleteThreadOptimisticUpdate = {
1036
+ type DeleteThreadOptimisticUpdate = {
1149
1037
  type: "delete-thread";
1150
1038
  id: string;
1151
1039
  roomId: string;
1152
1040
  threadId: string;
1153
1041
  deletedAt: Date;
1154
1042
  };
1155
- declare type EditThreadMetadataOptimisticUpdate<M extends BaseMetadata> = {
1043
+ type EditThreadMetadataOptimisticUpdate<M extends BaseMetadata$1> = {
1156
1044
  type: "edit-thread-metadata";
1157
1045
  id: string;
1158
1046
  threadId: string;
1159
1047
  metadata: Resolve<Patchable<M>>;
1160
1048
  updatedAt: Date;
1161
1049
  };
1162
- declare type MarkThreadAsResolvedOptimisticUpdate = {
1050
+ type MarkThreadAsResolvedOptimisticUpdate = {
1163
1051
  type: "mark-thread-as-resolved";
1164
1052
  id: string;
1165
1053
  threadId: string;
1166
1054
  updatedAt: Date;
1167
1055
  };
1168
- declare type MarkThreadAsUnresolvedOptimisticUpdate = {
1056
+ type MarkThreadAsUnresolvedOptimisticUpdate = {
1169
1057
  type: "mark-thread-as-unresolved";
1170
1058
  id: string;
1171
1059
  threadId: string;
1172
1060
  updatedAt: Date;
1173
1061
  };
1174
- declare type CreateCommentOptimisticUpdate = {
1062
+ type CreateCommentOptimisticUpdate = {
1175
1063
  type: "create-comment";
1176
1064
  id: string;
1177
1065
  comment: CommentData;
1178
1066
  };
1179
- declare type EditCommentOptimisticUpdate = {
1067
+ type EditCommentOptimisticUpdate = {
1180
1068
  type: "edit-comment";
1181
1069
  id: string;
1182
1070
  comment: CommentData;
1183
1071
  };
1184
- declare type DeleteCommentOptimisticUpdate = {
1072
+ type DeleteCommentOptimisticUpdate = {
1185
1073
  type: "delete-comment";
1186
1074
  id: string;
1187
1075
  roomId: string;
@@ -1189,14 +1077,14 @@ declare type DeleteCommentOptimisticUpdate = {
1189
1077
  deletedAt: Date;
1190
1078
  commentId: string;
1191
1079
  };
1192
- declare type AddReactionOptimisticUpdate = {
1080
+ type AddReactionOptimisticUpdate = {
1193
1081
  type: "add-reaction";
1194
1082
  id: string;
1195
1083
  threadId: string;
1196
1084
  commentId: string;
1197
1085
  reaction: CommentUserReaction;
1198
1086
  };
1199
- declare type RemoveReactionOptimisticUpdate = {
1087
+ type RemoveReactionOptimisticUpdate = {
1200
1088
  type: "remove-reaction";
1201
1089
  id: string;
1202
1090
  threadId: string;
@@ -1205,29 +1093,29 @@ declare type RemoveReactionOptimisticUpdate = {
1205
1093
  userId: string;
1206
1094
  removedAt: Date;
1207
1095
  };
1208
- declare type MarkInboxNotificationAsReadOptimisticUpdate = {
1096
+ type MarkInboxNotificationAsReadOptimisticUpdate = {
1209
1097
  type: "mark-inbox-notification-as-read";
1210
1098
  id: string;
1211
1099
  inboxNotificationId: string;
1212
1100
  readAt: Date;
1213
1101
  };
1214
- declare type MarkAllInboxNotificationsAsReadOptimisticUpdate = {
1102
+ type MarkAllInboxNotificationsAsReadOptimisticUpdate = {
1215
1103
  type: "mark-all-inbox-notifications-as-read";
1216
1104
  id: string;
1217
1105
  readAt: Date;
1218
1106
  };
1219
- declare type DeleteInboxNotificationOptimisticUpdate = {
1107
+ type DeleteInboxNotificationOptimisticUpdate = {
1220
1108
  type: "delete-inbox-notification";
1221
1109
  id: string;
1222
1110
  inboxNotificationId: string;
1223
1111
  deletedAt: Date;
1224
1112
  };
1225
- declare type DeleteAllInboxNotificationsOptimisticUpdate = {
1113
+ type DeleteAllInboxNotificationsOptimisticUpdate = {
1226
1114
  type: "delete-all-inbox-notifications";
1227
1115
  id: string;
1228
1116
  deletedAt: Date;
1229
1117
  };
1230
- declare type UpdateNotificationSettingsOptimisticUpdate = {
1118
+ type UpdateNotificationSettingsOptimisticUpdate = {
1231
1119
  type: "update-notification-settings";
1232
1120
  id: string;
1233
1121
  roomId: string;
@@ -1238,7 +1126,7 @@ declare type UpdateNotificationSettingsOptimisticUpdate = {
1238
1126
  * field, indicating the status of the promise.
1239
1127
  * This is compatible with React's `use()` promises, hence the name.
1240
1128
  */
1241
- declare type UsablePromise<T> = Promise<T> & ({
1129
+ type UsablePromise<T> = Promise<T> & ({
1242
1130
  status: "pending";
1243
1131
  } | {
1244
1132
  status: "rejected";
@@ -1247,17 +1135,17 @@ declare type UsablePromise<T> = Promise<T> & ({
1247
1135
  status: "fulfilled";
1248
1136
  value: T;
1249
1137
  });
1250
- declare type LoadableResource<T> = {
1138
+ type LoadableResource<T> = {
1251
1139
  signal: ISignal<T>;
1252
1140
  waitUntilLoaded: () => UsablePromise<void>;
1253
1141
  };
1254
- declare type RoomId = string;
1255
- declare type UserQueryKey = string;
1256
- declare type RoomQueryKey = string;
1142
+ type RoomId = string;
1143
+ type UserQueryKey = string;
1144
+ type RoomQueryKey = string;
1257
1145
  /**
1258
1146
  * A lookup table (LUT) for all the inbox notifications.
1259
1147
  */
1260
- declare type NotificationsLUT = Map<string, InboxNotificationData>;
1148
+ type NotificationsLUT = Map<string, InboxNotificationData>;
1261
1149
  /**
1262
1150
  * Notification settings by room ID.
1263
1151
  * e.g. { 'room-abc': { threads: "all" },
@@ -1265,10 +1153,10 @@ declare type NotificationsLUT = Map<string, InboxNotificationData>;
1265
1153
  * 'room-xyz': { threads: "none" },
1266
1154
  * }
1267
1155
  */
1268
- declare type SettingsByRoomId = Record<RoomId, RoomNotificationSettings$1>;
1269
- declare type PermissionHintsLUT = DefaultMap<RoomId, Set<Permission>>;
1270
- declare type CleanThreadifications<M extends BaseMetadata> = CleanThreads<M> & CleanNotifications;
1271
- declare type CleanThreads<M extends BaseMetadata> = {
1156
+ type SettingsByRoomId = Record<RoomId, RoomNotificationSettings$1>;
1157
+ type PermissionHintsLUT = DefaultMap<RoomId, Set<Permission>>;
1158
+ type CleanThreadifications<M extends BaseMetadata$1> = CleanThreads<M> & CleanNotifications;
1159
+ type CleanThreads<M extends BaseMetadata$1> = {
1272
1160
  /**
1273
1161
  * Keep track of loading and error status of all the queries made by the client.
1274
1162
  * e.g. 'room-abc-{"color":"red"}' - ok
@@ -1276,7 +1164,7 @@ declare type CleanThreads<M extends BaseMetadata> = {
1276
1164
  */
1277
1165
  threadsDB: ReadonlyThreadDB<M>;
1278
1166
  };
1279
- declare type CleanNotifications = {
1167
+ type CleanNotifications = {
1280
1168
  /**
1281
1169
  * All inbox notifications in a sorted array, optimistic updates applied.
1282
1170
  */
@@ -1297,7 +1185,7 @@ declare function createStore_forNotifications(): {
1297
1185
  updateAssociatedNotification: (newComment: CommentData) => void;
1298
1186
  upsert: (notification: InboxNotificationData) => void;
1299
1187
  };
1300
- declare function createStore_forRoomNotificationSettings(updates: ISignal<readonly OptimisticUpdate<BaseMetadata>[]>): {
1188
+ declare function createStore_forRoomNotificationSettings(updates: ISignal<readonly OptimisticUpdate<BaseMetadata$1>[]>): {
1301
1189
  signal: DerivedSignal<SettingsByRoomId>;
1302
1190
  update: (roomId: string, settings: RoomNotificationSettings$1) => void;
1303
1191
  };
@@ -1313,12 +1201,12 @@ declare function createStore_forPermissionHints(): {
1313
1201
  signal: ISignal<PermissionHintsLUT>;
1314
1202
  update: (newHints: Record<string, Permission[]>) => void;
1315
1203
  };
1316
- declare function createStore_forOptimistic<M extends BaseMetadata>(client: Client<BaseUserMeta$1, M>): {
1204
+ declare function createStore_forOptimistic<M extends BaseMetadata$1>(client: Client<BaseUserMeta$1, M>): {
1317
1205
  signal: ISignal<readonly OptimisticUpdate<M>[]>;
1318
1206
  add: (optimisticUpdate: DistributiveOmit<OptimisticUpdate<M>, "id">) => string;
1319
1207
  remove: (optimisticId: string) => void;
1320
1208
  };
1321
- declare class UmbrellaStore<M extends BaseMetadata> {
1209
+ declare class UmbrellaStore<M extends BaseMetadata$1> {
1322
1210
  #private;
1323
1211
  readonly threads: ThreadDB<M>;
1324
1212
  readonly notifications: ReturnType<typeof createStore_forNotifications>;
@@ -1406,15 +1294,15 @@ declare const ClientContext: react.Context<OpaqueClient | null>;
1406
1294
  *
1407
1295
  * @private
1408
1296
  */
1409
- declare function getUmbrellaStoreForClient<M extends BaseMetadata$1>(client: OpaqueClient): UmbrellaStore<M>;
1297
+ declare function getUmbrellaStoreForClient<M extends BaseMetadata>(client: OpaqueClient): UmbrellaStore<M>;
1410
1298
  /**
1411
1299
  * @private This is an internal API.
1412
1300
  */
1413
- declare function useClientOrNull<U extends BaseUserMeta>(): Client$1<U, BaseMetadata$1> | null;
1301
+ declare function useClientOrNull<U extends BaseUserMeta>(): Client$1<U> | null;
1414
1302
  /**
1415
1303
  * Obtains a reference to the current Liveblocks client.
1416
1304
  */
1417
- declare function useClient<U extends BaseUserMeta>(): Client$1<U, BaseMetadata$1>;
1305
+ declare function useClient<U extends BaseUserMeta>(): Client$1<U>;
1418
1306
  /**
1419
1307
  * Sets up a client for connecting to Liveblocks, and is the recommended way to do
1420
1308
  * this for React apps. You must define either `authEndpoint` or `publicApiKey`.
@@ -1429,7 +1317,7 @@ declare function LiveblocksProvider<U extends BaseUserMeta = DU>(props: PropsWit
1429
1317
  * LiveblocksProvider created in this way takes no props, because it uses
1430
1318
  * settings from the given client instead.
1431
1319
  */
1432
- declare function createLiveblocksContext<U extends BaseUserMeta = DU, M extends BaseMetadata$1 = DM>(client: OpaqueClient): LiveblocksContextBundle<U, M>;
1320
+ declare function createLiveblocksContext<U extends BaseUserMeta = DU, M extends BaseMetadata = DM>(client: OpaqueClient): LiveblocksContextBundle<U, M>;
1433
1321
  /**
1434
1322
  * Returns the inbox notifications for the current user.
1435
1323
  *
@@ -1516,7 +1404,7 @@ declare function useRoomInfo(roomId: string): RoomInfoAsyncResult;
1516
1404
  * const { info } = useRoomInfo("room-id");
1517
1405
  */
1518
1406
  declare function useRoomInfoSuspense(roomId: string): RoomInfoAsyncSuccess;
1519
- declare type TypedBundle$1 = LiveblocksContextBundle<DU, DM>;
1407
+ type TypedBundle$1 = LiveblocksContextBundle<DU, DM>;
1520
1408
  /**
1521
1409
  * Returns the thread associated with a `"thread"` inbox notification.
1522
1410
  *
@@ -1590,16 +1478,17 @@ declare const _useUserThreadsSuspense_experimental: TypedBundle$1["suspense"]["u
1590
1478
  * const syncStatus = useSyncStatus({ smooth: true });
1591
1479
  */
1592
1480
  declare function useSyncStatus(options?: UseSyncStatusOptions): SyncStatus;
1593
-
1594
1481
  /**
1595
- * Raw access to the React context where the RoomProvider stores the current
1596
- * room. Exposed for advanced use cases only.
1482
+ * useErrorListener is a React hook that allows you to respond to any
1483
+ * Liveblocks error, for example room connection errors, errors
1484
+ * creating/editing/deleting threads, etc.
1597
1485
  *
1598
- * @private This is a private/advanced API. Do not rely on it.
1486
+ * @example
1487
+ * useErrorListener(err => {
1488
+ * console.error(err);
1489
+ * })
1599
1490
  */
1600
- declare const RoomContext: react.Context<OpaqueRoom | null>;
1601
- /** @private */
1602
- declare function useRoomOrNull<P extends JsonObject, S extends LsonObject, U extends BaseUserMeta, E extends Json, M extends BaseMetadata$1>(): Room<P, S, U, E, M> | null;
1491
+ declare function useErrorListener(callback: (err: LiveblocksError) => void): void;
1603
1492
 
1604
1493
  /**
1605
1494
  * Returns the current connection status for the Room, and triggers
@@ -1657,16 +1546,6 @@ declare function useBatch<T>(): (callback: () => T) => T;
1657
1546
  * })
1658
1547
  */
1659
1548
  declare function useLostConnectionListener(callback: (event: LostConnectionEvent) => void): void;
1660
- /**
1661
- * useErrorListener is a React hook that allows you to respond to potential room
1662
- * connection errors.
1663
- *
1664
- * @example
1665
- * useErrorListener(er => {
1666
- * console.error(er);
1667
- * })
1668
- */
1669
- declare function useErrorListener(callback: (err: LiveblocksError) => void): void;
1670
1549
  /**
1671
1550
  * Returns the room.history
1672
1551
  */
@@ -1704,16 +1583,12 @@ declare function useCanRedo(): boolean;
1704
1583
  * // [2, 4, 7]
1705
1584
  */
1706
1585
  declare function useOthersConnectionIds(): readonly number[];
1707
- /**
1708
- * @private Internal API, do not rely on it.
1709
- */
1710
- declare function useCommentsErrorListener<M extends BaseMetadata$1>(callback: (error: CommentsError<M>) => void): void;
1711
1586
  /**
1712
1587
  * @private
1713
1588
  */
1714
- declare function useCreateRoomThread<M extends BaseMetadata$1>(roomId: string): (options: CreateThreadOptions<M>) => ThreadData$1<M>;
1589
+ declare function useCreateRoomThread<M extends BaseMetadata>(roomId: string): (options: CreateThreadOptions<M>) => ThreadData$1<M>;
1715
1590
  declare function useDeleteRoomThread(roomId: string): (threadId: string) => void;
1716
- declare function useEditRoomThreadMetadata<M extends BaseMetadata$1>(roomId: string): (options: EditThreadMetadataOptions<M>) => void;
1591
+ declare function useEditRoomThreadMetadata<M extends BaseMetadata>(roomId: string): (options: EditThreadMetadataOptions<M>) => void;
1717
1592
  /**
1718
1593
  * Returns a function that adds a comment to a thread.
1719
1594
  *
@@ -1754,7 +1629,7 @@ declare function useDeleteRoomComment(roomId: string): ({ threadId, commentId }:
1754
1629
  /**
1755
1630
  * @private
1756
1631
  */
1757
- declare function useAddRoomCommentReaction<M extends BaseMetadata$1>(roomId: string): ({ threadId, commentId, emoji }: CommentReactionOptions) => void;
1632
+ declare function useAddRoomCommentReaction<M extends BaseMetadata>(roomId: string): ({ threadId, commentId, emoji }: CommentReactionOptions) => void;
1758
1633
  /**
1759
1634
  * Returns a function that removes a reaction on a comment.
1760
1635
  *
@@ -1880,8 +1755,8 @@ declare function useRoomPermissions(roomId: string): Set<unknown>;
1880
1755
  * that any RoomProvider created in this way does not need to be nested in
1881
1756
  * LiveblocksProvider, as it already has access to the client.
1882
1757
  */
1883
- declare function createRoomContext<P extends JsonObject = DP, S extends LsonObject = DS, U extends BaseUserMeta = DU, E extends Json = DE, M extends BaseMetadata$1 = DM>(client: OpaqueClient): RoomContextBundle<P, S, U, E, M>;
1884
- declare type TypedBundle = RoomContextBundle<DP, DS, DU, DE, DM>;
1758
+ declare function createRoomContext<P extends JsonObject = DP, S extends LsonObject = DS, U extends BaseUserMeta = DU, E extends Json = DE, M extends BaseMetadata = DM>(client: OpaqueClient): RoomContextBundle<P, S, U, E, M>;
1759
+ type TypedBundle = RoomContextBundle<DP, DS, DU, DE, DM>;
1885
1760
  /**
1886
1761
  * Makes a Room available in the component hierarchy below.
1887
1762
  * Joins the room when the component is mounted, and automatically leaves
@@ -2351,4 +2226,4 @@ declare const _useStorageRoot: TypedBundle["useStorageRoot"];
2351
2226
  */
2352
2227
  declare const _useUpdateMyPresence: TypedBundle["useUpdateMyPresence"];
2353
2228
 
2354
- export { _useEventListener as $, useDeleteAllInboxNotifications as A, useDeleteInboxNotification as B, CreateThreadError as C, useMarkAllInboxNotificationsAsRead as D, useMarkInboxNotificationAsRead as E, useSyncStatus as F, createRoomContext as G, _RoomProvider as H, _useAddReaction as I, useBatch as J, _useBroadcastEvent as K, LiveblocksProvider as L, type MutationContext as M, useCanRedo as N, useCanUndo as O, useCreateComment as P, _useCreateThread as Q, RoomContext as R, useDeleteComment as S, _useDeleteThread as T, type UseStorageStatusOptions as U, useEditComment as V, _useEditThreadMetadata as W, useMarkThreadAsResolved as X, useMarkThreadAsUnresolved as Y, useErrorListener as Z, _useInboxNotificationThread as _, useClientOrNull as a, useHistory as a0, _useIsInsideRoom as a1, useLostConnectionListener as a2, useMarkThreadAsRead as a3, _useMutation as a4, _useMyPresence as a5, _useOthersListener as a6, useRedo as a7, useRemoveReaction as a8, _useRoom as a9, useOthersConnectionIdsSuspense as aA, _useOthersMappedSuspense as aB, _useSelfSuspense as aC, _useStorageSuspense as aD, useStorageStatusSuspense as aE, _useThreadsSuspense as aF, useAttachmentUrlSuspense as aG, _useHistoryVersionsSuspense as aH, _useRoomNotificationSettingsSuspense as aI, useInboxNotificationsSuspense as aJ, useRoomInfoSuspense as aK, useUnreadInboxNotificationsCountSuspense as aL, _useUserSuspense as aM, _useUserThreadsSuspense_experimental as aN, useStatus as aa, _useStorageRoot as ab, useThreadSubscription as ac, useUndo as ad, _useUpdateMyPresence as ae, useUpdateRoomNotificationSettings as af, useHistoryVersionData as ag, useCommentsErrorListener as ah, _useOther as ai, _useOthers as aj, useOthersConnectionIds as ak, _useOthersMapped as al, _useSelf as am, _useStorage as an, useStorageStatus as ao, _useThreads as ap, useAttachmentUrl as aq, _useHistoryVersions as ar, _useRoomNotificationSettings as as, useInboxNotifications as at, _useUserThreads_experimental as au, useRoomInfo as av, useUnreadInboxNotificationsCount as aw, _useUser as ax, _useOtherSuspense as ay, _useOthersSuspense as az, useAddRoomCommentReaction as b, useCreateRoomComment as c, useCreateRoomThread as d, useCreateTextMention as e, useDeleteRoomComment as f, getUmbrellaStoreForClient as g, useDeleteRoomThread as h, useDeleteTextMention as i, useEditRoomComment as j, useEditRoomThreadMetadata as k, useMarkRoomThreadAsRead as l, useMarkRoomThreadAsResolved as m, useMarkRoomThreadAsUnresolved as n, useMentionSuggestionsCache as o, useRemoveRoomCommentReaction as p, useReportTextEditor as q, useResolveMentionSuggestions as r, useRoomAttachmentUrl as s, useRoomPermissions as t, useRoomOrNull as u, useYjsProvider as v, type UseThreadsOptions as w, ClientContext as x, createLiveblocksContext as y, useClient as z };
2229
+ export { useHistory as $, useDeleteInboxNotification as A, useErrorListener as B, ClientContext as C, useMarkAllInboxNotificationsAsRead as D, useMarkInboxNotificationAsRead as E, useSyncStatus as F, createRoomContext as G, _RoomProvider as H, _useAddReaction as I, useBatch as J, _useBroadcastEvent as K, LiveblocksProvider as L, type MutationContext as M, useCanRedo as N, useCanUndo as O, useCreateComment as P, _useCreateThread as Q, RoomContext as R, useDeleteComment as S, _useDeleteThread as T, type UseStorageStatusOptions as U, useEditComment as V, _useEditThreadMetadata as W, useMarkThreadAsResolved as X, useMarkThreadAsUnresolved as Y, _useEventListener as Z, _useInboxNotificationThread as _, useClientOrNull as a, _useIsInsideRoom as a0, useLostConnectionListener as a1, useMarkThreadAsRead as a2, _useMutation as a3, _useMyPresence as a4, _useOthersListener as a5, useRedo as a6, useRemoveReaction as a7, _useRoom as a8, useStatus as a9, _useSelfSuspense as aA, _useStorageSuspense as aB, useStorageStatusSuspense as aC, _useThreadsSuspense as aD, useAttachmentUrlSuspense as aE, _useHistoryVersionsSuspense as aF, _useRoomNotificationSettingsSuspense as aG, useInboxNotificationsSuspense as aH, useRoomInfoSuspense as aI, useUnreadInboxNotificationsCountSuspense as aJ, _useUserSuspense as aK, _useUserThreadsSuspense_experimental as aL, _useStorageRoot as aa, useThreadSubscription as ab, useUndo as ac, _useUpdateMyPresence as ad, useUpdateRoomNotificationSettings as ae, useHistoryVersionData as af, _useOther as ag, _useOthers as ah, useOthersConnectionIds as ai, _useOthersMapped as aj, _useSelf as ak, _useStorage as al, useStorageStatus as am, _useThreads as an, useAttachmentUrl as ao, _useHistoryVersions as ap, _useRoomNotificationSettings as aq, useInboxNotifications as ar, _useUserThreads_experimental as as, useRoomInfo as at, useUnreadInboxNotificationsCount as au, _useUser as av, _useOtherSuspense as aw, _useOthersSuspense as ax, useOthersConnectionIdsSuspense as ay, _useOthersMappedSuspense as az, useAddRoomCommentReaction as b, useCreateRoomComment as c, useCreateRoomThread as d, useCreateTextMention as e, useDeleteRoomComment as f, getUmbrellaStoreForClient as g, useDeleteRoomThread as h, useDeleteTextMention as i, useEditRoomComment as j, useEditRoomThreadMetadata as k, useMarkRoomThreadAsRead as l, useMarkRoomThreadAsResolved as m, useMarkRoomThreadAsUnresolved as n, useMentionSuggestionsCache as o, useRemoveRoomCommentReaction as p, useReportTextEditor as q, useResolveMentionSuggestions as r, useRoomAttachmentUrl as s, useRoomPermissions as t, useRoomOrNull as u, useYjsProvider as v, type UseThreadsOptions as w, createLiveblocksContext as x, useClient as y, useDeleteAllInboxNotifications as z };