@liveblocks/react 1.19.0-test1 → 2.0.0-alpha1

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.
package/dist/index.d.mts CHANGED
@@ -1,1509 +1,4 @@
1
- import * as React$1 from 'react';
2
- import { ReactElement, ReactNode } from 'react';
3
- import * as _liveblocks_core from '@liveblocks/core';
4
- import { CommentBody, BaseMetadata, ThreadData, Resolve, ToImmutable, ThreadsFilterOptions, RoomEventMessage, CommentData, RoomInitializers } from '@liveblocks/core';
5
- import { JsonObject, LsonObject, BaseUserMeta, LiveObject, User, Json, Room, Status, BroadcastOptions, OthersEvent, LostConnectionEvent, History, Client } from '@liveblocks/client';
1
+ export { a as ClientContext, C as ClientSideSuspense, L as LiveblocksProvider, M as MutationContext, R as RoomContext, f as RoomProvider, U as UseThreadsOptions, c as createLiveblocksContext, e as createRoomContext, g as useAddReaction, h as useBatch, i as useBroadcastEvent, j as useCanRedo, k as useCanUndo, u as useClient, l as useCreateComment, m as useCreateThread, n as useDeleteComment, o as useEditComment, p as useEditThreadMetadata, q as useErrorListener, r as useEventListener, s as useHistory, _ as useInboxNotificationThread, V as useInboxNotifications, t as useLostConnectionListener, b as useMarkAllInboxNotificationsAsRead, d as useMarkInboxNotificationAsRead, v as useMarkThreadAsRead, w as useMutation, x as useMyPresence, K as useOther, N as useOthers, O as useOthersConnectionIds, y as useOthersListener, P as useOthersMapped, z as useRedo, A as useRemoveReaction, B as useRoom, W as useRoomInfo, D as useRoomNotificationSettings, Q as useSelf, E as useStatus, S as useStorage, F as useStorageRoot, G as useThreadSubscription, T as useThreads, H as useUndo, X as useUnreadInboxNotificationsCount, I as useUpdateMyPresence, J as useUpdateRoomNotificationSettings, Y as useUser } from './suspense-9ZocWu4y.mjs';
6
2
  export { Json, JsonObject, shallow } from '@liveblocks/client';
7
-
8
- declare type Props = {
9
- fallback: NonNullable<ReactNode> | null;
10
- children: () => ReactNode | undefined;
11
- };
12
- /**
13
- * Almost like a normal <Suspense> component, except that for server-side
14
- * renders, the fallback will be used.
15
- *
16
- * The child props will have to be provided in a function, i.e. change:
17
- *
18
- * <Suspense fallback={<Loading />}>
19
- * <MyRealComponent a={1} />
20
- * </Suspense>
21
- *
22
- * To:
23
- *
24
- * <ClientSideSuspense fallback={<Loading />}>
25
- * {() => <MyRealComponent a={1} />}
26
- * </ClientSideSuspense>
27
- *
28
- */
29
- declare function ClientSideSuspense(props: Props): ReactElement;
30
-
31
- declare type PartialNullable<T> = {
32
- [P in keyof T]?: T[P] | null | undefined;
33
- };
34
- declare type CreateThreadOptions<TMetadata extends BaseMetadata> = [
35
- TMetadata
36
- ] extends [never] ? {
37
- body: CommentBody;
38
- } : {
39
- body: CommentBody;
40
- metadata: TMetadata;
41
- };
42
- declare type EditThreadMetadataOptions<TMetadata extends BaseMetadata> = [
43
- TMetadata
44
- ] extends [never] ? {
45
- threadId: string;
46
- } : {
47
- threadId: string;
48
- metadata: Resolve<PartialNullable<TMetadata>>;
49
- };
50
- declare type CreateCommentOptions = {
51
- threadId: string;
52
- body: CommentBody;
53
- };
54
- declare type EditCommentOptions = {
55
- threadId: string;
56
- commentId: string;
57
- body: CommentBody;
58
- };
59
- declare type DeleteCommentOptions = {
60
- threadId: string;
61
- commentId: string;
62
- };
63
- declare type CommentReactionOptions = {
64
- threadId: string;
65
- commentId: string;
66
- emoji: string;
67
- };
68
- declare type ThreadsStateLoading = {
69
- isLoading: true;
70
- threads?: never;
71
- error?: never;
72
- };
73
- declare type ThreadsStateResolved<TThreadMetadata extends BaseMetadata> = {
74
- isLoading: false;
75
- threads: ThreadData<TThreadMetadata>[];
76
- error?: Error;
77
- };
78
- declare type ThreadsStateSuccess<TThreadMetadata extends BaseMetadata> = {
79
- isLoading: false;
80
- threads: ThreadData<TThreadMetadata>[];
81
- error?: never;
82
- };
83
- declare type ThreadsState<TThreadMetadata extends BaseMetadata> = ThreadsStateLoading | ThreadsStateResolved<TThreadMetadata>;
84
-
85
- declare type PromiseOrNot<T> = T | Promise<T>;
86
- declare type ResolveUsersArgs = {
87
- /**
88
- * The ID of the current room.
89
- */
90
- roomId: string;
91
- /**
92
- * The IDs of the users to resolve.
93
- */
94
- userIds: string[];
95
- };
96
- declare type ResolveMentionSuggestionsArgs = {
97
- /**
98
- * The ID of the current room.
99
- */
100
- roomId: string;
101
- /**
102
- * The text to search for.
103
- */
104
- text: string;
105
- };
106
- declare type UserStateLoading = {
107
- isLoading: true;
108
- user?: never;
109
- error?: never;
110
- };
111
- declare type UserStateError = {
112
- isLoading: false;
113
- user?: never;
114
- error: Error;
115
- };
116
- declare type UserStateSuccess<T> = {
117
- isLoading: false;
118
- user: T;
119
- error?: never;
120
- };
121
- declare type UserState<T> = UserStateLoading | UserStateError | UserStateSuccess<T>;
122
- declare type RoomProviderProps<TPresence extends JsonObject, TStorage extends LsonObject> = Resolve<{
123
- /**
124
- * The id of the room you want to connect to
125
- */
126
- id: string;
127
- children: React.ReactNode;
128
- /**
129
- * Whether or not the room should connect to Liveblocks servers
130
- * when the RoomProvider is rendered.
131
- *
132
- * By default equals to `typeof window !== "undefined"`,
133
- * meaning the RoomProvider tries to connect to Liveblocks servers
134
- * only on the client side.
135
- */
136
- autoConnect?: boolean;
137
- /** @deprecated Renamed to `autoConnect` */
138
- shouldInitiallyConnect?: boolean;
139
- /**
140
- * If you're on React 17 or lower, pass in a reference to
141
- * `ReactDOM.unstable_batchedUpdates` or
142
- * `ReactNative.unstable_batchedUpdates` here.
143
- *
144
- * @example
145
- * import { unstable_batchedUpdates } from "react-dom";
146
- *
147
- * <RoomProvider ... unstable_batchedUpdates={unstable_batchedUpdates} />
148
- *
149
- * This will prevent you from running into the so-called "stale props"
150
- * and/or "zombie child" problem that React 17 and lower can suffer from.
151
- * Not necessary when you're on React v18 or later.
152
- */
153
- unstable_batchedUpdates?: (cb: () => void) => void;
154
- } & RoomInitializers<TPresence, TStorage>>;
155
- /**
156
- * For any function type, returns a similar function type, but without the
157
- * first argument.
158
- */
159
- declare type OmitFirstArg<F> = F extends (first: any, ...rest: infer A) => infer R ? (...args: A) => R : never;
160
- declare type MutationContext<TPresence extends JsonObject, TStorage extends LsonObject, TUserMeta extends BaseUserMeta> = {
161
- storage: LiveObject<TStorage>;
162
- self: User<TPresence, TUserMeta>;
163
- others: readonly User<TPresence, TUserMeta>[];
164
- setMyPresence: (patch: Partial<TPresence>, options?: {
165
- addToHistory: boolean;
166
- }) => void;
167
- };
168
- declare type RoomContextBundleShared<TPresence extends JsonObject, TStorage extends LsonObject, TUserMeta extends BaseUserMeta, TRoomEvent extends Json, TThreadMetadata extends BaseMetadata> = {
169
- /**
170
- * You normally don't need to directly interact with the RoomContext, but
171
- * it can be necessary if you're building an advanced app where you need to
172
- * set up a context bridge between two React renderers.
173
- */
174
- RoomContext: React.Context<Room<TPresence, TStorage, TUserMeta, TRoomEvent> | null>;
175
- /**
176
- * Makes a Room available in the component hierarchy below.
177
- * When this component is unmounted, the current user leave the room.
178
- * That means that you can't have 2 RoomProvider with the same room id in your react tree.
179
- */
180
- RoomProvider(props: RoomProviderProps<TPresence, TStorage>): JSX.Element;
181
- /**
182
- * Returns the Room of the nearest RoomProvider above in the React component
183
- * tree.
184
- */
185
- useRoom(): Room<TPresence, TStorage, TUserMeta, TRoomEvent>;
186
- /**
187
- * Returns the current connection status for the Room, and triggers
188
- * a re-render whenever it changes. Can be used to render a status badge.
189
- */
190
- useStatus(): Status;
191
- /**
192
- * Returns a function that batches modifications made during the given function.
193
- * All the modifications are sent to other clients in a single message.
194
- * All the modifications are merged in a single history item (undo/redo).
195
- * All the subscribers are called only after the batch is over.
196
- */
197
- useBatch<T>(): (callback: () => T) => T;
198
- /**
199
- * Returns a callback that lets you broadcast custom events to other users in the room
200
- *
201
- * @example
202
- * const broadcast = useBroadcastEvent();
203
- *
204
- * broadcast({ type: "CUSTOM_EVENT", data: { x: 0, y: 0 } });
205
- */
206
- useBroadcastEvent(): (event: TRoomEvent, options?: BroadcastOptions) => void;
207
- /**
208
- * Get informed when users enter or leave the room, as an event.
209
- *
210
- * @example
211
- * useOthersListener({ type, user, others }) => {
212
- * if (type === 'enter') {
213
- * // `user` has joined the room
214
- * } else if (type === 'leave') {
215
- * // `user` has left the room
216
- * }
217
- * })
218
- */
219
- useOthersListener(callback: (event: OthersEvent<TPresence, TUserMeta>) => void): void;
220
- /**
221
- * Get informed when reconnecting to the Liveblocks servers is taking
222
- * longer than usual. This typically is a sign of a client that has lost
223
- * internet connectivity.
224
- *
225
- * This isn't problematic (because the Liveblocks client is still trying to
226
- * reconnect), but it's typically a good idea to inform users about it if
227
- * the connection takes too long to recover.
228
- *
229
- * @example
230
- * useLostConnectionListener(event => {
231
- * if (event === 'lost') {
232
- * toast.warn('Reconnecting to the Liveblocks servers is taking longer than usual...')
233
- * } else if (event === 'failed') {
234
- * toast.warn('Reconnecting to the Liveblocks servers failed.')
235
- * } else if (event === 'restored') {
236
- * toast.clear();
237
- * }
238
- * })
239
- */
240
- useLostConnectionListener(callback: (event: LostConnectionEvent) => void): void;
241
- /**
242
- * useErrorListener is a React hook that allows you to respond to potential room
243
- * connection errors.
244
- *
245
- * @example
246
- * useErrorListener(er => {
247
- * console.error(er);
248
- * })
249
- */
250
- useErrorListener(callback: (err: Error) => void): void;
251
- /**
252
- * useEventListener is a React hook that allows you to respond to events broadcast
253
- * by other users in the room.
254
- *
255
- * @example
256
- * useEventListener(({ connectionId, event }) => {
257
- * if (event.type === "CUSTOM_EVENT") {
258
- * // Do something
259
- * }
260
- * });
261
- */
262
- useEventListener(callback: (data: RoomEventMessage<TPresence, TUserMeta, TRoomEvent>) => void): void;
263
- /**
264
- * Returns the room.history
265
- */
266
- useHistory(): History;
267
- /**
268
- * Returns a function that undoes the last operation executed by the current client.
269
- * It does not impact operations made by other clients.
270
- */
271
- useUndo(): () => void;
272
- /**
273
- * Returns a function that redoes the last operation executed by the current client.
274
- * It does not impact operations made by other clients.
275
- */
276
- useRedo(): () => void;
277
- /**
278
- * Returns whether there are any operations to undo.
279
- */
280
- useCanUndo(): boolean;
281
- /**
282
- * Returns whether there are any operations to redo.
283
- */
284
- useCanRedo(): boolean;
285
- /**
286
- * Returns the mutable (!) Storage root. This hook exists for
287
- * backward-compatible reasons.
288
- *
289
- * @example
290
- * const [root] = useStorageRoot();
291
- */
292
- useStorageRoot(): [root: LiveObject<TStorage> | null];
293
- /**
294
- * Returns the presence of the current user of the current room, and a function to update it.
295
- * It is different from the setState function returned by the useState hook from React.
296
- * You don't need to pass the full presence object to update it.
297
- *
298
- * @example
299
- * const [myPresence, updateMyPresence] = useMyPresence();
300
- * updateMyPresence({ x: 0 });
301
- * updateMyPresence({ y: 0 });
302
- *
303
- * // At the next render, "myPresence" will be equal to "{ x: 0, y: 0 }"
304
- */
305
- useMyPresence(): [
306
- TPresence,
307
- (patch: Partial<TPresence>, options?: {
308
- addToHistory: boolean;
309
- }) => void
310
- ];
311
- /**
312
- * useUpdateMyPresence is similar to useMyPresence but it only returns the function to update the current user presence.
313
- * If you don't use the current user presence in your component, but you need to update it (e.g. live cursor), it's better to use useUpdateMyPresence to avoid unnecessary renders.
314
- *
315
- * @example
316
- * const updateMyPresence = useUpdateMyPresence();
317
- * updateMyPresence({ x: 0 });
318
- * updateMyPresence({ y: 0 });
319
- *
320
- * // At the next render, the presence of the current user will be equal to "{ x: 0, y: 0 }"
321
- */
322
- useUpdateMyPresence(): (patch: Partial<TPresence>, options?: {
323
- addToHistory: boolean;
324
- }) => void;
325
- /**
326
- * Create a callback function that lets you mutate Liveblocks state.
327
- *
328
- * The first argument that gets passed into your callback will be
329
- * a "mutation context", which exposes the following:
330
- *
331
- * - `root` - The mutable Storage root.
332
- * You can normal mutation on Live structures with this, for
333
- * example: root.get('layers').get('layer1').set('fill',
334
- * 'red')
335
- *
336
- * - `setMyPresence` - Call this with a new (partial) Presence value.
337
- *
338
- * - `self` - A read-only version of the latest self, if you need it to
339
- * compute the next state.
340
- *
341
- * - `others` - A read-only version of the latest others list, if you
342
- * need it to compute the next state.
343
- *
344
- * useMutation is like React's useCallback, except that the first argument
345
- * that gets passed into your callback will be a "mutation context".
346
- *
347
- * If you want get access to the immutable root somewhere in your mutation,
348
- * you can use `root.ToImmutable()`.
349
- *
350
- * @example
351
- * const fillLayers = useMutation(
352
- * ({ root }, color: Color) => {
353
- * ...
354
- * },
355
- * [],
356
- * );
357
- *
358
- * fillLayers('red');
359
- *
360
- * const deleteLayers = useMutation(
361
- * ({ root }) => {
362
- * ...
363
- * },
364
- * [],
365
- * );
366
- *
367
- * deleteLayers();
368
- */
369
- useMutation<F extends (context: MutationContext<TPresence, TStorage, TUserMeta>, ...args: any[]) => any>(callback: F, deps: readonly unknown[]): OmitFirstArg<F>;
370
- /**
371
- * Returns an object that lets you get information about all the users
372
- * currently connected in the room.
373
- *
374
- * @example
375
- * const others = useOthers();
376
- *
377
- * // Example to map all cursors in JSX
378
- * return (
379
- * <>
380
- * {others.map((user) => {
381
- * if (user.presence.cursor == null) {
382
- * return null;
383
- * }
384
- * return <Cursor key={user.connectionId} cursor={user.presence.cursor} />
385
- * })}
386
- * </>
387
- * )
388
- */
389
- useOthers(): readonly User<TPresence, TUserMeta>[];
390
- /**
391
- * Extract arbitrary data based on all the users currently connected in the
392
- * room (except yourself).
393
- *
394
- * The selector function will get re-evaluated any time a user enters or
395
- * leaves the room, as well as whenever their presence data changes.
396
- *
397
- * The component that uses this hook will automatically re-render if your
398
- * selector function returns a different value from its previous run.
399
- *
400
- * By default `useOthers()` uses strict `===` to check for equality. Take
401
- * extra care when returning a computed object or list, for example when you
402
- * return the result of a .map() or .filter() call from the selector. In
403
- * those cases, you'll probably want to use a `shallow` comparison check.
404
- *
405
- * @example
406
- * const avatars = useOthers(users => users.map(u => u.info.avatar), shallow);
407
- * const cursors = useOthers(users => users.map(u => u.presence.cursor), shallow);
408
- * const someoneIsTyping = useOthers(users => users.some(u => u.presence.isTyping));
409
- *
410
- */
411
- useOthers<T>(selector: (others: readonly User<TPresence, TUserMeta>[]) => T, isEqual?: (prev: T, curr: T) => boolean): T;
412
- /**
413
- * Returns an array of connection IDs. This matches the values you'll get by
414
- * using the `useOthers()` hook.
415
- *
416
- * Roughly equivalent to:
417
- * useOthers((others) => others.map(other => other.connectionId), shallow)
418
- *
419
- * This is useful in particular to implement efficiently rendering components
420
- * for each user in the room, e.g. cursors.
421
- *
422
- * @example
423
- * const ids = useOthersConnectionIds();
424
- * // [2, 4, 7]
425
- */
426
- useOthersConnectionIds(): readonly number[];
427
- /**
428
- * Related to useOthers(), but optimized for selecting only "subsets" of
429
- * others. This is useful for performance reasons in particular, because
430
- * selecting only a subset of users also means limiting the number of
431
- * re-renders that will be triggered.
432
- *
433
- * @example
434
- * const avatars = useOthersMapped(user => user.info.avatar);
435
- * // ^^^^^^^
436
- * // { connectionId: number; data: string }[]
437
- *
438
- * The selector function you pass to useOthersMapped() is called an "item
439
- * selector", and operates on a single user at a time. If you provide an
440
- * (optional) "item comparison" function, it will be used to compare each
441
- * item pairwise.
442
- *
443
- * For example, to select multiple properties:
444
- *
445
- * @example
446
- * const avatarsAndCursors = useOthersMapped(
447
- * user => [u.info.avatar, u.presence.cursor],
448
- * shallow, // 👈
449
- * );
450
- */
451
- useOthersMapped<T>(itemSelector: (other: User<TPresence, TUserMeta>) => T, itemIsEqual?: (prev: T, curr: T) => boolean): ReadonlyArray<readonly [connectionId: number, data: T]>;
452
- /**
453
- * Given a connection ID (as obtained by using `useOthersConnectionIds`), you
454
- * can call this selector deep down in your component stack to only have the
455
- * component re-render if properties for this particular user change.
456
- *
457
- * @example
458
- * // Returns only the selected values re-renders whenever that selection changes)
459
- * const { x, y } = useOther(2, user => user.presence.cursor);
460
- */
461
- useOther<T>(connectionId: number, selector: (other: User<TPresence, TUserMeta>) => T, isEqual?: (prev: T, curr: T) => boolean): T;
462
- /**
463
- * @beta
464
- *
465
- * Returns a function that creates a thread with an initial comment, and optionally some metadata.
466
- *
467
- * @example
468
- * const createThread = useCreateThread();
469
- * createThread({ body: {}, metadata: {} });
470
- */
471
- useCreateThread(): (options: CreateThreadOptions<TThreadMetadata>) => ThreadData<TThreadMetadata>;
472
- /**
473
- * @beta
474
- *
475
- * Returns a function that edits a thread's metadata.
476
- * To delete an existing metadata property, set its value to `null`.
477
- *
478
- * @example
479
- * const editThreadMetadata = useEditThreadMetadata();
480
- * editThreadMetadata({ threadId: "th_xxx", metadata: {} })
481
- */
482
- useEditThreadMetadata(): (options: EditThreadMetadataOptions<TThreadMetadata>) => void;
483
- /**
484
- * @beta
485
- *
486
- * Returns a function that adds a comment to a thread.
487
- *
488
- * @example
489
- * const createComment = useCreateComment();
490
- * createComment({ threadId: "th_xxx", body: {} });
491
- */
492
- useCreateComment(): (options: CreateCommentOptions) => CommentData;
493
- /**
494
- * @beta
495
- *
496
- * Returns a function that edits a comment's body.
497
- *
498
- * @example
499
- * const editComment = useEditComment()
500
- * editComment({ threadId: "th_xxx", commentId: "cm_xxx", body: {} })
501
- */
502
- useEditComment(): (options: EditCommentOptions) => void;
503
- /**
504
- * @beta
505
- *
506
- * Returns a function that deletes a comment.
507
- * If it is the last non-deleted comment, the thread also gets deleted.
508
- *
509
- * @example
510
- * const deleteComment = useDeleteComment();
511
- * deleteComment({ threadId: "th_xxx", commentId: "cm_xxx" })
512
- */
513
- useDeleteComment(): (options: DeleteCommentOptions) => void;
514
- /**
515
- * @beta
516
- *
517
- * Returns a function that adds a reaction from a comment.
518
- *
519
- * @example
520
- * const addReaction = useAddReaction();
521
- * addReaction({ threadId: "th_xxx", commentId: "cm_xxx", emoji: "👍" })
522
- */
523
- useAddReaction(): (options: CommentReactionOptions) => void;
524
- /**
525
- * @beta
526
- *
527
- * Returns a function that removes a reaction on a comment.
528
- *
529
- * @example
530
- * const removeReaction = useRemoveReaction();
531
- * removeReaction({ threadId: "th_xxx", commentId: "cm_xxx", emoji: "👍" })
532
- */
533
- useRemoveReaction(): (options: CommentReactionOptions) => void;
534
- };
535
- declare type RoomContextBundle<TPresence extends JsonObject, TStorage extends LsonObject, TUserMeta extends BaseUserMeta, TRoomEvent extends Json, TThreadMetadata extends BaseMetadata> = Resolve<RoomContextBundleShared<TPresence, TStorage, TUserMeta, TRoomEvent, TThreadMetadata> & {
536
- /**
537
- * Extract arbitrary data from the Liveblocks Storage state, using an
538
- * arbitrary selector function.
539
- *
540
- * The selector function will get re-evaluated any time something changes in
541
- * Storage. The value returned by your selector function will also be the
542
- * value returned by the hook.
543
- *
544
- * The `root` value that gets passed to your selector function is
545
- * a immutable/readonly version of your Liveblocks storage root.
546
- *
547
- * The component that uses this hook will automatically re-render if the
548
- * returned value changes.
549
- *
550
- * By default `useStorage()` uses strict `===` to check for equality. Take
551
- * extra care when returning a computed object or list, for example when you
552
- * return the result of a .map() or .filter() call from the selector. In
553
- * those cases, you'll probably want to use a `shallow` comparison check.
554
- */
555
- useStorage<T>(selector: (root: ToImmutable<TStorage>) => T, isEqual?: (prev: T | null, curr: T | null) => boolean): T | null;
556
- /**
557
- * Gets the current user once it is connected to the room.
558
- *
559
- * @example
560
- * const me = useSelf();
561
- * const { x, y } = me.presence.cursor;
562
- */
563
- useSelf(): User<TPresence, TUserMeta> | null;
564
- /**
565
- * Extract arbitrary data based on the current user.
566
- *
567
- * The selector function will get re-evaluated any time your presence data
568
- * changes.
569
- *
570
- * The component that uses this hook will automatically re-render if your
571
- * selector function returns a different value from its previous run.
572
- *
573
- * By default `useSelf()` uses strict `===` to check for equality. Take extra
574
- * care when returning a computed object or list, for example when you return
575
- * the result of a .map() or .filter() call from the selector. In those
576
- * cases, you'll probably want to use a `shallow` comparison check.
577
- *
578
- * Will return `null` while Liveblocks isn't connected to a room yet.
579
- *
580
- * @example
581
- * const cursor = useSelf(me => me.presence.cursor);
582
- * if (cursor !== null) {
583
- * const { x, y } = cursor;
584
- * }
585
- *
586
- */
587
- useSelf<T>(selector: (me: User<TPresence, TUserMeta>) => T, isEqual?: (prev: T, curr: T) => boolean): T | null;
588
- /**
589
- * @beta
590
- *
591
- * Returns the threads within the current room.
592
- *
593
- * @example
594
- * const { threads, error, isLoading } = useThreads();
595
- */
596
- useThreads(options?: ThreadsFilterOptions<TThreadMetadata>): ThreadsState<TThreadMetadata>;
597
- /**
598
- * @beta
599
- *
600
- * Returns user info from a given user ID.
601
- *
602
- * @example
603
- * const { user, error, isLoading } = useUser("user-id");
604
- */
605
- useUser(userId: string): UserState<TUserMeta["info"]>;
606
- /**
607
- * Returns the LiveList associated with the provided key. The hook triggers
608
- * a re-render if the LiveList is updated, however it does not triggers
609
- * a re-render if a nested CRDT is updated.
610
- *
611
- * @param key The top-level storage key associated with the LiveList
612
- * @returns null while storage is still loading, otherwise, returns the LiveList instance at the storage key
613
- *
614
- * @example
615
- * const animals = useList("animals"); // e.g. [] or ["🦁", "🐍", "🦍"] // ❌ No longer recommended
616
- * const animals = useStorage((root) => root.animals); // ✅ Do this instead
617
- *
618
- * @deprecated We no longer recommend using `useList`. Prefer `useStorage`
619
- * for reading and `useMutation` for writing.
620
- */
621
- useList<TKey extends Extract<keyof TStorage, string>>(key: TKey): TStorage[TKey] | null;
622
- /**
623
- * Returns the LiveMap associated with the provided key. If the LiveMap
624
- * does not exist, a new empty LiveMap will be created. The hook triggers
625
- * a re-render if the LiveMap is updated, however it does not triggers
626
- * a re-render if a nested CRDT is updated.
627
- *
628
- * @param key The top-level storage key associated with the LiveMap
629
- * @returns null while storage is still loading, otherwise, returns the LiveMap instance at the storage key
630
- *
631
- * @example
632
- * const shapesById = useMap("shapes"); // ❌ No longer recommended
633
- * const shapesById = useStorage((root) => root.shapes); // ✅ Do this instead
634
- *
635
- * @deprecated We no longer recommend using `useMap`. Prefer `useStorage`
636
- * for reading and `useMutation` for writing.
637
- */
638
- useMap<TKey extends Extract<keyof TStorage, string>>(key: TKey): TStorage[TKey] | null;
639
- /**
640
- * Returns the LiveObject associated with the provided key.
641
- * The hook triggers a re-render if the LiveObject is updated, however it does not triggers a re-render if a nested CRDT is updated.
642
- *
643
- * @param key The top-level storage key associated with the LiveObject
644
- * @returns null while storage is still loading, otherwise, returns the LiveObject instance at the storage key
645
- *
646
- * @example
647
- * const object = useObject("obj"); // ❌ No longer recommended
648
- * const object = useStorage((root) => root.obj); // ✅ Do this instead
649
- *
650
- * @deprecated We no longer recommend using `useObject`. Prefer `useStorage`
651
- * for reading and `useMutation` for writing.
652
- */
653
- useObject<TKey extends Extract<keyof TStorage, string>>(key: TKey): TStorage[TKey] | null;
654
- suspense: Resolve<RoomContextBundleShared<TPresence, TStorage, TUserMeta, TRoomEvent, TThreadMetadata> & {
655
- /**
656
- * Extract arbitrary data from the Liveblocks Storage state, using an
657
- * arbitrary selector function.
658
- *
659
- * The selector function will get re-evaluated any time something changes in
660
- * Storage. The value returned by your selector function will also be the
661
- * value returned by the hook.
662
- *
663
- * The `root` value that gets passed to your selector function is
664
- * a immutable/readonly version of your Liveblocks storage root.
665
- *
666
- * The component that uses this hook will automatically re-render if the
667
- * returned value changes.
668
- *
669
- * By default `useStorage()` uses strict `===` to check for equality. Take
670
- * extra care when returning a computed object or list, for example when you
671
- * return the result of a .map() or .filter() call from the selector. In
672
- * those cases, you'll probably want to use a `shallow` comparison check.
673
- */
674
- useStorage<T>(selector: (root: ToImmutable<TStorage>) => T, isEqual?: (prev: T, curr: T) => boolean): T;
675
- /**
676
- * Gets the current user once it is connected to the room.
677
- *
678
- * @example
679
- * const me = useSelf();
680
- * const { x, y } = me.presence.cursor;
681
- */
682
- useSelf(): User<TPresence, TUserMeta>;
683
- /**
684
- * Extract arbitrary data based on the current user.
685
- *
686
- * The selector function will get re-evaluated any time your presence data
687
- * changes.
688
- *
689
- * The component that uses this hook will automatically re-render if your
690
- * selector function returns a different value from its previous run.
691
- *
692
- * By default `useSelf()` uses strict `===` to check for equality. Take extra
693
- * care when returning a computed object or list, for example when you return
694
- * the result of a .map() or .filter() call from the selector. In those
695
- * cases, you'll probably want to use a `shallow` comparison check.
696
- *
697
- * Will return `null` while Liveblocks isn't connected to a room yet.
698
- *
699
- * @example
700
- * const cursor = useSelf(me => me.presence.cursor);
701
- * if (cursor !== null) {
702
- * const { x, y } = cursor;
703
- * }
704
- *
705
- */
706
- useSelf<T>(selector: (me: User<TPresence, TUserMeta>) => T, isEqual?: (prev: T, curr: T) => boolean): T;
707
- /**
708
- * @beta
709
- *
710
- * Returns the threads within the current room.
711
- *
712
- * @example
713
- * const { threads } = useThreads();
714
- */
715
- useThreads(options?: ThreadsFilterOptions<TThreadMetadata>): ThreadsStateSuccess<TThreadMetadata>;
716
- /**
717
- * @beta
718
- *
719
- * Returns user info from a given user ID.
720
- *
721
- * @example
722
- * const { user } = useUser("user-id");
723
- */
724
- useUser(userId: string): UserStateSuccess<TUserMeta["info"]>;
725
- /**
726
- * Returns the LiveList associated with the provided key. The hook triggers
727
- * a re-render if the LiveList is updated, however it does not triggers
728
- * a re-render if a nested CRDT is updated.
729
- *
730
- * @param key The top-level storage key associated with the LiveList
731
- * @returns Returns the LiveList instance at the storage key
732
- *
733
- * @example
734
- * const animals = useList("animals"); // e.g. [] or ["🦁", "🐍", "🦍"] // ❌ No longer recommended
735
- * const animals = useStorage((root) => root.animals); // ✅ Do this instead
736
- *
737
- * @deprecated We no longer recommend using `useList`. Prefer `useStorage`
738
- * for reading and `useMutation` for writing.
739
- */
740
- useList<TKey extends Extract<keyof TStorage, string>>(key: TKey): TStorage[TKey];
741
- /**
742
- * Returns the LiveMap associated with the provided key. If the LiveMap
743
- * does not exist, a new empty LiveMap will be created. The hook triggers
744
- * a re-render if the LiveMap is updated, however it does not triggers
745
- * a re-render if a nested CRDT is updated.
746
- *
747
- * @param key The top-level storage key associated with the LiveMap
748
- * @returns Returns the LiveMap instance at the storage key
749
- *
750
- * @example
751
- * const shapesById = useMap("shapes"); // ❌ No longer recommended
752
- * const shapesById = useStorage((root) => root.shapes); // ✅ Do this instead
753
- *
754
- * @deprecated We no longer recommend using `useMap`. Prefer `useStorage`
755
- * for reading and `useMutation` for writing.
756
- */
757
- useMap<TKey extends Extract<keyof TStorage, string>>(key: TKey): TStorage[TKey];
758
- /**
759
- * Returns the LiveObject associated with the provided key.
760
- * The hook triggers a re-render if the LiveObject is updated, however it does not triggers a re-render if a nested CRDT is updated.
761
- *
762
- * @param key The top-level storage key associated with the LiveObject
763
- * @returns Returns the LiveObject instance at the storage key
764
- *
765
- * @example
766
- * const object = useObject("obj"); // ❌ No longer recommended
767
- * const object = useStorage((root) => root.obj); // ✅ Do this instead
768
- *
769
- * @deprecated We no longer recommend using `useObject`. Prefer `useStorage`
770
- * for reading and `useMutation` for writing.
771
- */
772
- useObject<TKey extends Extract<keyof TStorage, string>>(key: TKey): TStorage[TKey];
773
- }>;
774
- }>;
775
-
776
- declare type Options<TUserMeta extends BaseUserMeta> = {
777
- /**
778
- * @beta
779
- *
780
- * A function that returns user info from user IDs.
781
- */
782
- resolveUsers?: (args: ResolveUsersArgs) => PromiseOrNot<(TUserMeta["info"] | undefined)[] | undefined>;
783
- /**
784
- * @beta
785
- *
786
- * A function that returns a list of user IDs matching a string.
787
- */
788
- resolveMentionSuggestions?: (args: ResolveMentionSuggestionsArgs) => PromiseOrNot<string[]>;
789
- };
790
- /**
791
- * @private
792
- *
793
- * This is an internal API, use `createRoomContext` instead.
794
- */
795
- declare function useRoomContextBundle(): {
796
- RoomContext: React$1.Context<Room<JsonObject, LsonObject, BaseUserMeta, never> | null>;
797
- RoomProvider: (props: {
798
- id: string;
799
- children: React$1.ReactNode;
800
- autoConnect?: boolean | undefined;
801
- shouldInitiallyConnect?: boolean | undefined;
802
- unstable_batchedUpdates?: ((cb: () => void) => void) | undefined;
803
- initialPresence: JsonObject | ((roomId: string) => JsonObject);
804
- initialStorage?: LsonObject | ((roomId: string) => LsonObject) | undefined;
805
- }) => JSX.Element;
806
- useRoom: () => Room<JsonObject, LsonObject, BaseUserMeta, never>;
807
- useStatus: () => Status;
808
- useBatch: <T>() => (callback: () => T) => T;
809
- useBroadcastEvent: () => (event: never, options?: BroadcastOptions | undefined) => void;
810
- useOthersListener: (callback: (event: OthersEvent<JsonObject, BaseUserMeta>) => void) => void;
811
- useLostConnectionListener: (callback: (event: LostConnectionEvent) => void) => void;
812
- useErrorListener: (callback: (err: Error) => void) => void;
813
- useEventListener: (callback: (data: RoomEventMessage<JsonObject, BaseUserMeta, never>) => void) => void;
814
- useHistory: () => History;
815
- useUndo: () => () => void;
816
- useRedo: () => () => void;
817
- useCanUndo: () => boolean;
818
- useCanRedo: () => boolean;
819
- useStorageRoot: () => [root: LiveObject<LsonObject> | null];
820
- useMyPresence: () => [JsonObject, (patch: Partial<JsonObject>, options?: {
821
- addToHistory: boolean;
822
- } | undefined) => void];
823
- useUpdateMyPresence: () => (patch: Partial<JsonObject>, options?: {
824
- addToHistory: boolean;
825
- } | undefined) => void;
826
- useMutation: <F extends (context: MutationContext<JsonObject, LsonObject, BaseUserMeta>, ...args: any[]) => any>(callback: F, deps: readonly unknown[]) => OmitFirstArg<F>;
827
- useOthers: {
828
- (): readonly User<JsonObject, BaseUserMeta>[];
829
- <T_1>(selector: (others: readonly User<JsonObject, BaseUserMeta>[]) => T_1, isEqual?: ((prev: T_1, curr: T_1) => boolean) | undefined): T_1;
830
- };
831
- useOthersConnectionIds: () => readonly number[];
832
- useOthersMapped: <T_2>(itemSelector: (other: User<JsonObject, BaseUserMeta>) => T_2, itemIsEqual?: ((prev: T_2, curr: T_2) => boolean) | undefined) => readonly (readonly [connectionId: number, data: T_2])[];
833
- useOther: <T_3>(connectionId: number, selector: (other: User<JsonObject, BaseUserMeta>) => T_3, isEqual?: ((prev: T_3, curr: T_3) => boolean) | undefined) => T_3;
834
- useCreateThread: () => (options: {
835
- body: _liveblocks_core.CommentBody;
836
- metadata: BaseMetadata;
837
- }) => _liveblocks_core.ThreadData<BaseMetadata>;
838
- useEditThreadMetadata: () => (options: {
839
- threadId: string;
840
- metadata: {
841
- [x: string]: string | number | boolean | null | undefined;
842
- };
843
- }) => void;
844
- useCreateComment: () => (options: CreateCommentOptions) => CommentData;
845
- useEditComment: () => (options: EditCommentOptions) => void;
846
- useDeleteComment: () => (options: DeleteCommentOptions) => void;
847
- useAddReaction: () => (options: CommentReactionOptions) => void;
848
- useRemoveReaction: () => (options: CommentReactionOptions) => void;
849
- useStorage: <T_4>(selector: (root: {
850
- readonly [x: string]: _liveblocks_core.JsonScalar | _liveblocks_core.JsonArray | ReadonlyMap<string, _liveblocks_core.JsonScalar | _liveblocks_core.JsonArray | ReadonlyMap<string, _liveblocks_core.JsonScalar | _liveblocks_core.JsonArray | ReadonlyMap<string, _liveblocks_core.JsonScalar | _liveblocks_core.JsonArray | ReadonlyMap<string, _liveblocks_core.JsonScalar | _liveblocks_core.JsonArray | ReadonlyMap<string, _liveblocks_core.JsonScalar | _liveblocks_core.JsonArray | ReadonlyMap<string, _liveblocks_core.JsonScalar | _liveblocks_core.JsonArray | ReadonlyMap<string, _liveblocks_core.JsonScalar | _liveblocks_core.JsonArray | ReadonlyMap<string, _liveblocks_core.JsonScalar | _liveblocks_core.JsonArray | ReadonlyMap<string, _liveblocks_core.JsonScalar | _liveblocks_core.JsonArray | ReadonlyMap<string, _liveblocks_core.JsonScalar | _liveblocks_core.JsonArray | ReadonlyMap<string, _liveblocks_core.JsonScalar | _liveblocks_core.JsonArray | any | any | readonly (_liveblocks_core.JsonScalar | _liveblocks_core.JsonArray | any | any | readonly (_liveblocks_core.JsonScalar | _liveblocks_core.JsonArray | any | any | readonly (_liveblocks_core.JsonScalar | _liveblocks_core.JsonArray | any | any | readonly (_liveblocks_core.JsonScalar | _liveblocks_core.JsonArray | any | any | readonly (_liveblocks_core.JsonScalar | _liveblocks_core.JsonArray | any | any | readonly (_liveblocks_core.JsonScalar | _liveblocks_core.JsonArray | any | any | readonly (_liveblocks_core.JsonScalar | _liveblocks_core.JsonArray | any | any | readonly (_liveblocks_core.JsonScalar | _liveblocks_core.JsonArray | any | any | readonly (_liveblocks_core.JsonScalar | _liveblocks_core.JsonArray | any | any | readonly (_liveblocks_core.JsonScalar | _liveblocks_core.JsonArray | any | any | readonly (_liveblocks_core.JsonScalar | _liveblocks_core.JsonArray | any | any | any | {
851
- readonly [x: string]: _liveblocks_core.JsonScalar | _liveblocks_core.JsonArray | any | undefined;
852
- })[] | {
853
- readonly [x: string]: _liveblocks_core.JsonScalar | _liveblocks_core.JsonArray | any | undefined;
854
- })[] | {
855
- readonly [x: string]: _liveblocks_core.JsonScalar | _liveblocks_core.JsonArray | any | undefined;
856
- })[] | {
857
- readonly [x: string]: _liveblocks_core.JsonScalar | _liveblocks_core.JsonArray | any | undefined;
858
- })[] | {
859
- readonly [x: string]: _liveblocks_core.JsonScalar | _liveblocks_core.JsonArray | any | undefined;
860
- })[] | {
861
- readonly [x: string]: _liveblocks_core.JsonScalar | _liveblocks_core.JsonArray | any | undefined;
862
- })[] | {
863
- readonly [x: string]: _liveblocks_core.JsonScalar | _liveblocks_core.JsonArray | any | undefined;
864
- })[] | {
865
- readonly [x: string]: _liveblocks_core.JsonScalar | _liveblocks_core.JsonArray | any | undefined;
866
- })[] | {
867
- readonly [x: string]: _liveblocks_core.JsonScalar | _liveblocks_core.JsonArray | any | undefined;
868
- })[] | {
869
- readonly [x: string]: _liveblocks_core.JsonScalar | _liveblocks_core.JsonArray | any | undefined;
870
- })[] | {
871
- readonly [x: string]: _liveblocks_core.JsonScalar | _liveblocks_core.JsonArray | any | undefined;
872
- })[] | {
873
- readonly [x: string]: _liveblocks_core.JsonScalar | _liveblocks_core.JsonArray | any | undefined;
874
- }> | any | readonly (_liveblocks_core.JsonScalar | _liveblocks_core.JsonArray | any | any | readonly (_liveblocks_core.JsonScalar | _liveblocks_core.JsonArray | any | any | readonly (_liveblocks_core.JsonScalar | _liveblocks_core.JsonArray | any | any | readonly (_liveblocks_core.JsonScalar | _liveblocks_core.JsonArray | any | any | readonly (_liveblocks_core.JsonScalar | _liveblocks_core.JsonArray | any | any | readonly (_liveblocks_core.JsonScalar | _liveblocks_core.JsonArray | any | any | readonly (_liveblocks_core.JsonScalar | _liveblocks_core.JsonArray | any | any | readonly (_liveblocks_core.JsonScalar | _liveblocks_core.JsonArray | any | any | readonly (_liveblocks_core.JsonScalar | _liveblocks_core.JsonArray | any | any | readonly (_liveblocks_core.JsonScalar | _liveblocks_core.JsonArray | any | any | readonly (_liveblocks_core.JsonScalar | _liveblocks_core.JsonArray | any | any | any | {
875
- readonly [x: string]: _liveblocks_core.JsonScalar | _liveblocks_core.JsonArray | any | undefined;
876
- })[] | {
877
- readonly [x: string]: _liveblocks_core.JsonScalar | _liveblocks_core.JsonArray | any | undefined;
878
- })[] | {
879
- readonly [x: string]: _liveblocks_core.JsonScalar | _liveblocks_core.JsonArray | any | undefined;
880
- })[] | {
881
- readonly [x: string]: _liveblocks_core.JsonScalar | _liveblocks_core.JsonArray | any | undefined;
882
- })[] | {
883
- readonly [x: string]: _liveblocks_core.JsonScalar | _liveblocks_core.JsonArray | any | undefined;
884
- })[] | {
885
- readonly [x: string]: _liveblocks_core.JsonScalar | _liveblocks_core.JsonArray | any | undefined;
886
- })[] | {
887
- readonly [x: string]: _liveblocks_core.JsonScalar | _liveblocks_core.JsonArray | any | undefined;
888
- })[] | {
889
- readonly [x: string]: _liveblocks_core.JsonScalar | _liveblocks_core.JsonArray | any | undefined;
890
- })[] | {
891
- readonly [x: string]: _liveblocks_core.JsonScalar | _liveblocks_core.JsonArray | any | undefined;
892
- })[] | {
893
- readonly [x: string]: _liveblocks_core.JsonScalar | _liveblocks_core.JsonArray | any | undefined;
894
- })[] | {
895
- readonly [x: string]: _liveblocks_core.JsonScalar | _liveblocks_core.JsonArray | any | undefined;
896
- })[] | {
897
- readonly [x: string]: _liveblocks_core.JsonScalar | _liveblocks_core.JsonArray | any | undefined;
898
- }> | any | readonly (_liveblocks_core.JsonScalar | _liveblocks_core.JsonArray | any | any | readonly (_liveblocks_core.JsonScalar | _liveblocks_core.JsonArray | any | any | readonly (_liveblocks_core.JsonScalar | _liveblocks_core.JsonArray | any | any | readonly (_liveblocks_core.JsonScalar | _liveblocks_core.JsonArray | any | any | readonly (_liveblocks_core.JsonScalar | _liveblocks_core.JsonArray | any | any | readonly (_liveblocks_core.JsonScalar | _liveblocks_core.JsonArray | any | any | readonly (_liveblocks_core.JsonScalar | _liveblocks_core.JsonArray | any | any | readonly (_liveblocks_core.JsonScalar | _liveblocks_core.JsonArray | any | any | readonly (_liveblocks_core.JsonScalar | _liveblocks_core.JsonArray | any | any | readonly (_liveblocks_core.JsonScalar | _liveblocks_core.JsonArray | any | any | readonly (_liveblocks_core.JsonScalar | _liveblocks_core.JsonArray | any | any | any | {
899
- readonly [x: string]: _liveblocks_core.JsonScalar | _liveblocks_core.JsonArray | any | undefined;
900
- })[] | {
901
- readonly [x: string]: _liveblocks_core.JsonScalar | _liveblocks_core.JsonArray | any | undefined;
902
- })[] | {
903
- readonly [x: string]: _liveblocks_core.JsonScalar | _liveblocks_core.JsonArray | any | undefined;
904
- })[] | {
905
- readonly [x: string]: _liveblocks_core.JsonScalar | _liveblocks_core.JsonArray | any | undefined;
906
- })[] | {
907
- readonly [x: string]: _liveblocks_core.JsonScalar | _liveblocks_core.JsonArray | any | undefined;
908
- })[] | {
909
- readonly [x: string]: _liveblocks_core.JsonScalar | _liveblocks_core.JsonArray | any | undefined;
910
- })[] | {
911
- readonly [x: string]: _liveblocks_core.JsonScalar | _liveblocks_core.JsonArray | any | undefined;
912
- })[] | {
913
- readonly [x: string]: _liveblocks_core.JsonScalar | _liveblocks_core.JsonArray | any | undefined;
914
- })[] | {
915
- readonly [x: string]: _liveblocks_core.JsonScalar | _liveblocks_core.JsonArray | any | undefined;
916
- })[] | {
917
- readonly [x: string]: _liveblocks_core.JsonScalar | _liveblocks_core.JsonArray | any | undefined;
918
- })[] | {
919
- readonly [x: string]: _liveblocks_core.JsonScalar | _liveblocks_core.JsonArray | any | undefined;
920
- })[] | {
921
- readonly [x: string]: _liveblocks_core.JsonScalar | _liveblocks_core.JsonArray | any | undefined;
922
- }> | any | readonly (_liveblocks_core.JsonScalar | _liveblocks_core.JsonArray | any | any | readonly (_liveblocks_core.JsonScalar | _liveblocks_core.JsonArray | any | any | readonly (_liveblocks_core.JsonScalar | _liveblocks_core.JsonArray | any | any | readonly (_liveblocks_core.JsonScalar | _liveblocks_core.JsonArray | any | any | readonly (_liveblocks_core.JsonScalar | _liveblocks_core.JsonArray | any | any | readonly (_liveblocks_core.JsonScalar | _liveblocks_core.JsonArray | any | any | readonly (_liveblocks_core.JsonScalar | _liveblocks_core.JsonArray | any | any | readonly (_liveblocks_core.JsonScalar | _liveblocks_core.JsonArray | any | any | readonly (_liveblocks_core.JsonScalar | _liveblocks_core.JsonArray | any | any | readonly (_liveblocks_core.JsonScalar | _liveblocks_core.JsonArray | any | any | readonly (_liveblocks_core.JsonScalar | _liveblocks_core.JsonArray | any | any | any | {
923
- readonly [x: string]: _liveblocks_core.JsonScalar | _liveblocks_core.JsonArray | any | undefined;
924
- })[] | {
925
- readonly [x: string]: _liveblocks_core.JsonScalar | _liveblocks_core.JsonArray | any | undefined;
926
- })[] | {
927
- readonly [x: string]: _liveblocks_core.JsonScalar | _liveblocks_core.JsonArray | any | undefined;
928
- })[] | {
929
- readonly [x: string]: _liveblocks_core.JsonScalar | _liveblocks_core.JsonArray | any | undefined;
930
- })[] | {
931
- readonly [x: string]: _liveblocks_core.JsonScalar | _liveblocks_core.JsonArray | any | undefined;
932
- })[] | {
933
- readonly [x: string]: _liveblocks_core.JsonScalar | _liveblocks_core.JsonArray | any | undefined;
934
- })[] | {
935
- readonly [x: string]: _liveblocks_core.JsonScalar | _liveblocks_core.JsonArray | any | undefined;
936
- })[] | {
937
- readonly [x: string]: _liveblocks_core.JsonScalar | _liveblocks_core.JsonArray | any | undefined;
938
- })[] | {
939
- readonly [x: string]: _liveblocks_core.JsonScalar | _liveblocks_core.JsonArray | any | undefined;
940
- })[] | {
941
- readonly [x: string]: _liveblocks_core.JsonScalar | _liveblocks_core.JsonArray | any | undefined;
942
- })[] | {
943
- readonly [x: string]: _liveblocks_core.JsonScalar | _liveblocks_core.JsonArray | any | undefined;
944
- })[] | {
945
- readonly [x: string]: _liveblocks_core.JsonScalar | _liveblocks_core.JsonArray | any | undefined;
946
- }> | any | readonly (_liveblocks_core.JsonScalar | _liveblocks_core.JsonArray | any | any | readonly (_liveblocks_core.JsonScalar | _liveblocks_core.JsonArray | any | any | readonly (_liveblocks_core.JsonScalar | _liveblocks_core.JsonArray | any | any | readonly (_liveblocks_core.JsonScalar | _liveblocks_core.JsonArray | any | any | readonly (_liveblocks_core.JsonScalar | _liveblocks_core.JsonArray | any | any | readonly (_liveblocks_core.JsonScalar | _liveblocks_core.JsonArray | any | any | readonly (_liveblocks_core.JsonScalar | _liveblocks_core.JsonArray | any | any | readonly (_liveblocks_core.JsonScalar | _liveblocks_core.JsonArray | any | any | readonly (_liveblocks_core.JsonScalar | _liveblocks_core.JsonArray | any | any | readonly (_liveblocks_core.JsonScalar | _liveblocks_core.JsonArray | any | any | readonly (_liveblocks_core.JsonScalar | _liveblocks_core.JsonArray | any | any | any | {
947
- readonly [x: string]: _liveblocks_core.JsonScalar | _liveblocks_core.JsonArray | any | undefined;
948
- })[] | {
949
- readonly [x: string]: _liveblocks_core.JsonScalar | _liveblocks_core.JsonArray | any | undefined;
950
- })[] | {
951
- readonly [x: string]: _liveblocks_core.JsonScalar | _liveblocks_core.JsonArray | any | undefined;
952
- })[] | {
953
- readonly [x: string]: _liveblocks_core.JsonScalar | _liveblocks_core.JsonArray | any | undefined;
954
- })[] | {
955
- readonly [x: string]: _liveblocks_core.JsonScalar | _liveblocks_core.JsonArray | any | undefined;
956
- })[] | {
957
- readonly [x: string]: _liveblocks_core.JsonScalar | _liveblocks_core.JsonArray | any | undefined;
958
- })[] | {
959
- readonly [x: string]: _liveblocks_core.JsonScalar | _liveblocks_core.JsonArray | any | undefined;
960
- })[] | {
961
- readonly [x: string]: _liveblocks_core.JsonScalar | _liveblocks_core.JsonArray | any | undefined;
962
- })[] | {
963
- readonly [x: string]: _liveblocks_core.JsonScalar | _liveblocks_core.JsonArray | any | undefined;
964
- })[] | {
965
- readonly [x: string]: _liveblocks_core.JsonScalar | _liveblocks_core.JsonArray | any | undefined;
966
- })[] | {
967
- readonly [x: string]: _liveblocks_core.JsonScalar | _liveblocks_core.JsonArray | any | undefined;
968
- })[] | {
969
- readonly [x: string]: _liveblocks_core.JsonScalar | _liveblocks_core.JsonArray | any | undefined;
970
- }> | any | readonly (_liveblocks_core.JsonScalar | _liveblocks_core.JsonArray | any | any | readonly (_liveblocks_core.JsonScalar | _liveblocks_core.JsonArray | any | any | readonly (_liveblocks_core.JsonScalar | _liveblocks_core.JsonArray | any | any | readonly (_liveblocks_core.JsonScalar | _liveblocks_core.JsonArray | any | any | readonly (_liveblocks_core.JsonScalar | _liveblocks_core.JsonArray | any | any | readonly (_liveblocks_core.JsonScalar | _liveblocks_core.JsonArray | any | any | readonly (_liveblocks_core.JsonScalar | _liveblocks_core.JsonArray | any | any | readonly (_liveblocks_core.JsonScalar | _liveblocks_core.JsonArray | any | any | readonly (_liveblocks_core.JsonScalar | _liveblocks_core.JsonArray | any | any | readonly (_liveblocks_core.JsonScalar | _liveblocks_core.JsonArray | any | any | readonly (_liveblocks_core.JsonScalar | _liveblocks_core.JsonArray | any | any | any | {
971
- readonly [x: string]: _liveblocks_core.JsonScalar | _liveblocks_core.JsonArray | any | undefined;
972
- })[] | {
973
- readonly [x: string]: _liveblocks_core.JsonScalar | _liveblocks_core.JsonArray | any | undefined;
974
- })[] | {
975
- readonly [x: string]: _liveblocks_core.JsonScalar | _liveblocks_core.JsonArray | any | undefined;
976
- })[] | {
977
- readonly [x: string]: _liveblocks_core.JsonScalar | _liveblocks_core.JsonArray | any | undefined;
978
- })[] | {
979
- readonly [x: string]: _liveblocks_core.JsonScalar | _liveblocks_core.JsonArray | any | undefined;
980
- })[] | {
981
- readonly [x: string]: _liveblocks_core.JsonScalar | _liveblocks_core.JsonArray | any | undefined;
982
- })[] | {
983
- readonly [x: string]: _liveblocks_core.JsonScalar | _liveblocks_core.JsonArray | any | undefined;
984
- })[] | {
985
- readonly [x: string]: _liveblocks_core.JsonScalar | _liveblocks_core.JsonArray | any | undefined;
986
- })[] | {
987
- readonly [x: string]: _liveblocks_core.JsonScalar | _liveblocks_core.JsonArray | any | undefined;
988
- })[] | {
989
- readonly [x: string]: _liveblocks_core.JsonScalar | _liveblocks_core.JsonArray | any | undefined;
990
- })[] | {
991
- readonly [x: string]: _liveblocks_core.JsonScalar | _liveblocks_core.JsonArray | any | undefined;
992
- })[] | {
993
- readonly [x: string]: _liveblocks_core.JsonScalar | _liveblocks_core.JsonArray | any | undefined;
994
- }> | any | readonly (_liveblocks_core.JsonScalar | _liveblocks_core.JsonArray | any | any | readonly (_liveblocks_core.JsonScalar | _liveblocks_core.JsonArray | any | any | readonly (_liveblocks_core.JsonScalar | _liveblocks_core.JsonArray | any | any | readonly (_liveblocks_core.JsonScalar | _liveblocks_core.JsonArray | any | any | readonly (_liveblocks_core.JsonScalar | _liveblocks_core.JsonArray | any | any | readonly (_liveblocks_core.JsonScalar | _liveblocks_core.JsonArray | any | any | readonly (_liveblocks_core.JsonScalar | _liveblocks_core.JsonArray | any | any | readonly (_liveblocks_core.JsonScalar | _liveblocks_core.JsonArray | any | any | readonly (_liveblocks_core.JsonScalar | _liveblocks_core.JsonArray | any | any | readonly (_liveblocks_core.JsonScalar | _liveblocks_core.JsonArray | any | any | readonly (_liveblocks_core.JsonScalar | _liveblocks_core.JsonArray | any | any | any | {
995
- readonly [x: string]: _liveblocks_core.JsonScalar | _liveblocks_core.JsonArray | any | undefined;
996
- })[] | {
997
- readonly [x: string]: _liveblocks_core.JsonScalar | _liveblocks_core.JsonArray | any | undefined;
998
- })[] | {
999
- readonly [x: string]: _liveblocks_core.JsonScalar | _liveblocks_core.JsonArray | any | undefined;
1000
- })[] | {
1001
- readonly [x: string]: _liveblocks_core.JsonScalar | _liveblocks_core.JsonArray | any | undefined;
1002
- })[] | {
1003
- readonly [x: string]: _liveblocks_core.JsonScalar | _liveblocks_core.JsonArray | any | undefined;
1004
- })[] | {
1005
- readonly [x: string]: _liveblocks_core.JsonScalar | _liveblocks_core.JsonArray | any | undefined;
1006
- })[] | {
1007
- readonly [x: string]: _liveblocks_core.JsonScalar | _liveblocks_core.JsonArray | any | undefined;
1008
- })[] | {
1009
- readonly [x: string]: _liveblocks_core.JsonScalar | _liveblocks_core.JsonArray | any | undefined;
1010
- })[] | {
1011
- readonly [x: string]: _liveblocks_core.JsonScalar | _liveblocks_core.JsonArray | any | undefined;
1012
- })[] | {
1013
- readonly [x: string]: _liveblocks_core.JsonScalar | _liveblocks_core.JsonArray | any | undefined;
1014
- })[] | {
1015
- readonly [x: string]: _liveblocks_core.JsonScalar | _liveblocks_core.JsonArray | any | undefined;
1016
- })[] | {
1017
- readonly [x: string]: _liveblocks_core.JsonScalar | _liveblocks_core.JsonArray | any | undefined;
1018
- }> | any | readonly (_liveblocks_core.JsonScalar | _liveblocks_core.JsonArray | any | any | readonly (_liveblocks_core.JsonScalar | _liveblocks_core.JsonArray | any | any | readonly (_liveblocks_core.JsonScalar | _liveblocks_core.JsonArray | any | any | readonly (_liveblocks_core.JsonScalar | _liveblocks_core.JsonArray | any | any | readonly (_liveblocks_core.JsonScalar | _liveblocks_core.JsonArray | any | any | readonly (_liveblocks_core.JsonScalar | _liveblocks_core.JsonArray | any | any | readonly (_liveblocks_core.JsonScalar | _liveblocks_core.JsonArray | any | any | readonly (_liveblocks_core.JsonScalar | _liveblocks_core.JsonArray | any | any | readonly (_liveblocks_core.JsonScalar | _liveblocks_core.JsonArray | any | any | readonly (_liveblocks_core.JsonScalar | _liveblocks_core.JsonArray | any | any | readonly (_liveblocks_core.JsonScalar | _liveblocks_core.JsonArray | any | any | any | {
1019
- readonly [x: string]: _liveblocks_core.JsonScalar | _liveblocks_core.JsonArray | any | undefined;
1020
- })[] | {
1021
- readonly [x: string]: _liveblocks_core.JsonScalar | _liveblocks_core.JsonArray | any | undefined;
1022
- })[] | {
1023
- readonly [x: string]: _liveblocks_core.JsonScalar | _liveblocks_core.JsonArray | any | undefined;
1024
- })[] | {
1025
- readonly [x: string]: _liveblocks_core.JsonScalar | _liveblocks_core.JsonArray | any | undefined;
1026
- })[] | {
1027
- readonly [x: string]: _liveblocks_core.JsonScalar | _liveblocks_core.JsonArray | any | undefined;
1028
- })[] | {
1029
- readonly [x: string]: _liveblocks_core.JsonScalar | _liveblocks_core.JsonArray | any | undefined;
1030
- })[] | {
1031
- readonly [x: string]: _liveblocks_core.JsonScalar | _liveblocks_core.JsonArray | any | undefined;
1032
- })[] | {
1033
- readonly [x: string]: _liveblocks_core.JsonScalar | _liveblocks_core.JsonArray | any | undefined;
1034
- })[] | {
1035
- readonly [x: string]: _liveblocks_core.JsonScalar | _liveblocks_core.JsonArray | any | undefined;
1036
- })[] | {
1037
- readonly [x: string]: _liveblocks_core.JsonScalar | _liveblocks_core.JsonArray | any | undefined;
1038
- })[] | {
1039
- readonly [x: string]: _liveblocks_core.JsonScalar | _liveblocks_core.JsonArray | any | undefined;
1040
- })[] | {
1041
- readonly [x: string]: _liveblocks_core.JsonScalar | _liveblocks_core.JsonArray | any | undefined;
1042
- }> | any | readonly (_liveblocks_core.JsonScalar | _liveblocks_core.JsonArray | any | any | readonly (_liveblocks_core.JsonScalar | _liveblocks_core.JsonArray | any | any | readonly (_liveblocks_core.JsonScalar | _liveblocks_core.JsonArray | any | any | readonly (_liveblocks_core.JsonScalar | _liveblocks_core.JsonArray | any | any | readonly (_liveblocks_core.JsonScalar | _liveblocks_core.JsonArray | any | any | readonly (_liveblocks_core.JsonScalar | _liveblocks_core.JsonArray | any | any | readonly (_liveblocks_core.JsonScalar | _liveblocks_core.JsonArray | any | any | readonly (_liveblocks_core.JsonScalar | _liveblocks_core.JsonArray | any | any | readonly (_liveblocks_core.JsonScalar | _liveblocks_core.JsonArray | any | any | readonly (_liveblocks_core.JsonScalar | _liveblocks_core.JsonArray | any | any | readonly (_liveblocks_core.JsonScalar | _liveblocks_core.JsonArray | any | any | any | {
1043
- readonly [x: string]: _liveblocks_core.JsonScalar | _liveblocks_core.JsonArray | any | undefined;
1044
- })[] | {
1045
- readonly [x: string]: _liveblocks_core.JsonScalar | _liveblocks_core.JsonArray | any | undefined;
1046
- })[] | {
1047
- readonly [x: string]: _liveblocks_core.JsonScalar | _liveblocks_core.JsonArray | any | undefined;
1048
- })[] | {
1049
- readonly [x: string]: _liveblocks_core.JsonScalar | _liveblocks_core.JsonArray | any | undefined;
1050
- })[] | {
1051
- readonly [x: string]: _liveblocks_core.JsonScalar | _liveblocks_core.JsonArray | any | undefined;
1052
- })[] | {
1053
- readonly [x: string]: _liveblocks_core.JsonScalar | _liveblocks_core.JsonArray | any | undefined;
1054
- })[] | {
1055
- readonly [x: string]: _liveblocks_core.JsonScalar | _liveblocks_core.JsonArray | any | undefined;
1056
- })[] | {
1057
- readonly [x: string]: _liveblocks_core.JsonScalar | _liveblocks_core.JsonArray | any | undefined;
1058
- })[] | {
1059
- readonly [x: string]: _liveblocks_core.JsonScalar | _liveblocks_core.JsonArray | any | undefined;
1060
- })[] | {
1061
- readonly [x: string]: _liveblocks_core.JsonScalar | _liveblocks_core.JsonArray | any | undefined;
1062
- })[] | {
1063
- readonly [x: string]: _liveblocks_core.JsonScalar | _liveblocks_core.JsonArray | any | undefined;
1064
- })[] | {
1065
- readonly [x: string]: _liveblocks_core.JsonScalar | _liveblocks_core.JsonArray | any | undefined;
1066
- }> | any | readonly (_liveblocks_core.JsonScalar | _liveblocks_core.JsonArray | any | any | readonly (_liveblocks_core.JsonScalar | _liveblocks_core.JsonArray | any | any | readonly (_liveblocks_core.JsonScalar | _liveblocks_core.JsonArray | any | any | readonly (_liveblocks_core.JsonScalar | _liveblocks_core.JsonArray | any | any | readonly (_liveblocks_core.JsonScalar | _liveblocks_core.JsonArray | any | any | readonly (_liveblocks_core.JsonScalar | _liveblocks_core.JsonArray | any | any | readonly (_liveblocks_core.JsonScalar | _liveblocks_core.JsonArray | any | any | readonly (_liveblocks_core.JsonScalar | _liveblocks_core.JsonArray | any | any | readonly (_liveblocks_core.JsonScalar | _liveblocks_core.JsonArray | any | any | readonly (_liveblocks_core.JsonScalar | _liveblocks_core.JsonArray | any | any | readonly (_liveblocks_core.JsonScalar | _liveblocks_core.JsonArray | any | any | any | {
1067
- readonly [x: string]: _liveblocks_core.JsonScalar | _liveblocks_core.JsonArray | any | undefined;
1068
- })[] | {
1069
- readonly [x: string]: _liveblocks_core.JsonScalar | _liveblocks_core.JsonArray | any | undefined;
1070
- })[] | {
1071
- readonly [x: string]: _liveblocks_core.JsonScalar | _liveblocks_core.JsonArray | any | undefined;
1072
- })[] | {
1073
- readonly [x: string]: _liveblocks_core.JsonScalar | _liveblocks_core.JsonArray | any | undefined;
1074
- })[] | {
1075
- readonly [x: string]: _liveblocks_core.JsonScalar | _liveblocks_core.JsonArray | any | undefined;
1076
- })[] | {
1077
- readonly [x: string]: _liveblocks_core.JsonScalar | _liveblocks_core.JsonArray | any | undefined;
1078
- })[] | {
1079
- readonly [x: string]: _liveblocks_core.JsonScalar | _liveblocks_core.JsonArray | any | undefined;
1080
- })[] | {
1081
- readonly [x: string]: _liveblocks_core.JsonScalar | _liveblocks_core.JsonArray | any | undefined;
1082
- })[] | {
1083
- readonly [x: string]: _liveblocks_core.JsonScalar | _liveblocks_core.JsonArray | any | undefined;
1084
- })[] | {
1085
- readonly [x: string]: _liveblocks_core.JsonScalar | _liveblocks_core.JsonArray | any | undefined;
1086
- })[] | {
1087
- readonly [x: string]: _liveblocks_core.JsonScalar | _liveblocks_core.JsonArray | any | undefined;
1088
- })[] | {
1089
- readonly [x: string]: _liveblocks_core.JsonScalar | _liveblocks_core.JsonArray | any | undefined;
1090
- }> | any | readonly (_liveblocks_core.JsonScalar | _liveblocks_core.JsonArray | any | any | readonly (_liveblocks_core.JsonScalar | _liveblocks_core.JsonArray | any | any | readonly (_liveblocks_core.JsonScalar | _liveblocks_core.JsonArray | any | any | readonly (_liveblocks_core.JsonScalar | _liveblocks_core.JsonArray | any | any | readonly (_liveblocks_core.JsonScalar | _liveblocks_core.JsonArray | any | any | readonly (_liveblocks_core.JsonScalar | _liveblocks_core.JsonArray | any | any | readonly (_liveblocks_core.JsonScalar | _liveblocks_core.JsonArray | any | any | readonly (_liveblocks_core.JsonScalar | _liveblocks_core.JsonArray | any | any | readonly (_liveblocks_core.JsonScalar | _liveblocks_core.JsonArray | any | any | readonly (_liveblocks_core.JsonScalar | _liveblocks_core.JsonArray | any | any | readonly (_liveblocks_core.JsonScalar | _liveblocks_core.JsonArray | any | any | any | {
1091
- readonly [x: string]: _liveblocks_core.JsonScalar | _liveblocks_core.JsonArray | any | undefined;
1092
- })[] | {
1093
- readonly [x: string]: _liveblocks_core.JsonScalar | _liveblocks_core.JsonArray | any | undefined;
1094
- })[] | {
1095
- readonly [x: string]: _liveblocks_core.JsonScalar | _liveblocks_core.JsonArray | any | undefined;
1096
- })[] | {
1097
- readonly [x: string]: _liveblocks_core.JsonScalar | _liveblocks_core.JsonArray | any | undefined;
1098
- })[] | {
1099
- readonly [x: string]: _liveblocks_core.JsonScalar | _liveblocks_core.JsonArray | any | undefined;
1100
- })[] | {
1101
- readonly [x: string]: _liveblocks_core.JsonScalar | _liveblocks_core.JsonArray | any | undefined;
1102
- })[] | {
1103
- readonly [x: string]: _liveblocks_core.JsonScalar | _liveblocks_core.JsonArray | any | undefined;
1104
- })[] | {
1105
- readonly [x: string]: _liveblocks_core.JsonScalar | _liveblocks_core.JsonArray | any | undefined;
1106
- })[] | {
1107
- readonly [x: string]: _liveblocks_core.JsonScalar | _liveblocks_core.JsonArray | any | undefined;
1108
- })[] | {
1109
- readonly [x: string]: _liveblocks_core.JsonScalar | _liveblocks_core.JsonArray | any | undefined;
1110
- })[] | {
1111
- readonly [x: string]: _liveblocks_core.JsonScalar | _liveblocks_core.JsonArray | any | undefined;
1112
- })[] | {
1113
- readonly [x: string]: _liveblocks_core.JsonScalar | _liveblocks_core.JsonArray | any | undefined;
1114
- }> | any | readonly (_liveblocks_core.JsonScalar | _liveblocks_core.JsonArray | any | any | readonly (_liveblocks_core.JsonScalar | _liveblocks_core.JsonArray | any | any | readonly (_liveblocks_core.JsonScalar | _liveblocks_core.JsonArray | any | any | readonly (_liveblocks_core.JsonScalar | _liveblocks_core.JsonArray | any | any | readonly (_liveblocks_core.JsonScalar | _liveblocks_core.JsonArray | any | any | readonly (_liveblocks_core.JsonScalar | _liveblocks_core.JsonArray | any | any | readonly (_liveblocks_core.JsonScalar | _liveblocks_core.JsonArray | any | any | readonly (_liveblocks_core.JsonScalar | _liveblocks_core.JsonArray | any | any | readonly (_liveblocks_core.JsonScalar | _liveblocks_core.JsonArray | any | any | readonly (_liveblocks_core.JsonScalar | _liveblocks_core.JsonArray | any | any | readonly (_liveblocks_core.JsonScalar | _liveblocks_core.JsonArray | any | any | any | {
1115
- readonly [x: string]: _liveblocks_core.JsonScalar | _liveblocks_core.JsonArray | any | undefined;
1116
- })[] | {
1117
- readonly [x: string]: _liveblocks_core.JsonScalar | _liveblocks_core.JsonArray | any | undefined;
1118
- })[] | {
1119
- readonly [x: string]: _liveblocks_core.JsonScalar | _liveblocks_core.JsonArray | any | undefined;
1120
- })[] | {
1121
- readonly [x: string]: _liveblocks_core.JsonScalar | _liveblocks_core.JsonArray | any | undefined;
1122
- })[] | {
1123
- readonly [x: string]: _liveblocks_core.JsonScalar | _liveblocks_core.JsonArray | any | undefined;
1124
- })[] | {
1125
- readonly [x: string]: _liveblocks_core.JsonScalar | _liveblocks_core.JsonArray | any | undefined;
1126
- })[] | {
1127
- readonly [x: string]: _liveblocks_core.JsonScalar | _liveblocks_core.JsonArray | any | undefined;
1128
- })[] | {
1129
- readonly [x: string]: _liveblocks_core.JsonScalar | _liveblocks_core.JsonArray | any | undefined;
1130
- })[] | {
1131
- readonly [x: string]: _liveblocks_core.JsonScalar | _liveblocks_core.JsonArray | any | undefined;
1132
- })[] | {
1133
- readonly [x: string]: _liveblocks_core.JsonScalar | _liveblocks_core.JsonArray | any | undefined;
1134
- })[] | {
1135
- readonly [x: string]: _liveblocks_core.JsonScalar | _liveblocks_core.JsonArray | any | undefined;
1136
- })[] | {
1137
- readonly [x: string]: _liveblocks_core.JsonScalar | _liveblocks_core.JsonArray | any | undefined;
1138
- } | undefined;
1139
- }) => T_4, isEqual?: ((prev: T_4 | null, curr: T_4 | null) => boolean) | undefined) => T_4 | null;
1140
- useSelf: {
1141
- (): User<JsonObject, BaseUserMeta> | null;
1142
- <T_5>(selector: (me: User<JsonObject, BaseUserMeta>) => T_5, isEqual?: ((prev: T_5, curr: T_5) => boolean) | undefined): T_5 | null;
1143
- };
1144
- useThreads: (options?: ThreadsFilterOptions<BaseMetadata> | undefined) => ThreadsState<BaseMetadata>;
1145
- useUser: (userId: string) => UserState<_liveblocks_core.IUserInfo | undefined>;
1146
- useList: <TKey extends string>(key: TKey) => _liveblocks_core.Lson | undefined;
1147
- useMap: <TKey_1 extends string>(key: TKey_1) => _liveblocks_core.Lson | undefined;
1148
- useObject: <TKey_2 extends string>(key: TKey_2) => _liveblocks_core.Lson | undefined;
1149
- suspense: {
1150
- RoomContext: React$1.Context<Room<JsonObject, LsonObject, BaseUserMeta, never> | null>;
1151
- RoomProvider: (props: {
1152
- id: string;
1153
- children: React$1.ReactNode;
1154
- autoConnect?: boolean | undefined;
1155
- shouldInitiallyConnect?: boolean | undefined;
1156
- unstable_batchedUpdates?: ((cb: () => void) => void) | undefined;
1157
- initialPresence: JsonObject | ((roomId: string) => JsonObject);
1158
- initialStorage?: LsonObject | ((roomId: string) => LsonObject) | undefined;
1159
- }) => JSX.Element;
1160
- useRoom: () => Room<JsonObject, LsonObject, BaseUserMeta, never>;
1161
- useStatus: () => Status;
1162
- useBatch: <T>() => (callback: () => T) => T;
1163
- useBroadcastEvent: () => (event: never, options?: BroadcastOptions | undefined) => void;
1164
- useOthersListener: (callback: (event: OthersEvent<JsonObject, BaseUserMeta>) => void) => void;
1165
- useLostConnectionListener: (callback: (event: LostConnectionEvent) => void) => void;
1166
- useErrorListener: (callback: (err: Error) => void) => void;
1167
- useEventListener: (callback: (data: RoomEventMessage<JsonObject, BaseUserMeta, never>) => void) => void;
1168
- useHistory: () => History;
1169
- useUndo: () => () => void;
1170
- useRedo: () => () => void;
1171
- useCanUndo: () => boolean;
1172
- useCanRedo: () => boolean;
1173
- useStorageRoot: () => [root: LiveObject<LsonObject> | null];
1174
- useMyPresence: () => [JsonObject, (patch: Partial<JsonObject>, options?: {
1175
- addToHistory: boolean;
1176
- } | undefined) => void];
1177
- useUpdateMyPresence: () => (patch: Partial<JsonObject>, options?: {
1178
- addToHistory: boolean;
1179
- } | undefined) => void;
1180
- useMutation: <F extends (context: MutationContext<JsonObject, LsonObject, BaseUserMeta>, ...args: any[]) => any>(callback: F, deps: readonly unknown[]) => OmitFirstArg<F>;
1181
- useOthers: {
1182
- (): readonly User<JsonObject, BaseUserMeta>[];
1183
- <T_1>(selector: (others: readonly User<JsonObject, BaseUserMeta>[]) => T_1, isEqual?: ((prev: T_1, curr: T_1) => boolean) | undefined): T_1;
1184
- };
1185
- useOthersConnectionIds: () => readonly number[];
1186
- useOthersMapped: <T_2>(itemSelector: (other: User<JsonObject, BaseUserMeta>) => T_2, itemIsEqual?: ((prev: T_2, curr: T_2) => boolean) | undefined) => readonly (readonly [connectionId: number, data: T_2])[];
1187
- useOther: <T_3>(connectionId: number, selector: (other: User<JsonObject, BaseUserMeta>) => T_3, isEqual?: ((prev: T_3, curr: T_3) => boolean) | undefined) => T_3;
1188
- useCreateThread: () => (options: {
1189
- body: _liveblocks_core.CommentBody;
1190
- metadata: BaseMetadata;
1191
- }) => _liveblocks_core.ThreadData<BaseMetadata>;
1192
- useEditThreadMetadata: () => (options: {
1193
- threadId: string;
1194
- metadata: {
1195
- [x: string]: string | number | boolean | null | undefined;
1196
- };
1197
- }) => void;
1198
- useCreateComment: () => (options: CreateCommentOptions) => CommentData;
1199
- useEditComment: () => (options: EditCommentOptions) => void;
1200
- useDeleteComment: () => (options: DeleteCommentOptions) => void;
1201
- useAddReaction: () => (options: CommentReactionOptions) => void;
1202
- useRemoveReaction: () => (options: CommentReactionOptions) => void;
1203
- useStorage: <T_6>(selector: (root: {
1204
- readonly [x: string]: _liveblocks_core.JsonScalar | _liveblocks_core.JsonArray | ReadonlyMap<string, _liveblocks_core.JsonScalar | _liveblocks_core.JsonArray | ReadonlyMap<string, _liveblocks_core.JsonScalar | _liveblocks_core.JsonArray | ReadonlyMap<string, _liveblocks_core.JsonScalar | _liveblocks_core.JsonArray | ReadonlyMap<string, _liveblocks_core.JsonScalar | _liveblocks_core.JsonArray | ReadonlyMap<string, _liveblocks_core.JsonScalar | _liveblocks_core.JsonArray | ReadonlyMap<string, _liveblocks_core.JsonScalar | _liveblocks_core.JsonArray | ReadonlyMap<string, _liveblocks_core.JsonScalar | _liveblocks_core.JsonArray | ReadonlyMap<string, _liveblocks_core.JsonScalar | _liveblocks_core.JsonArray | ReadonlyMap<string, _liveblocks_core.JsonScalar | _liveblocks_core.JsonArray | ReadonlyMap<string, _liveblocks_core.JsonScalar | _liveblocks_core.JsonArray | ReadonlyMap<string, _liveblocks_core.JsonScalar | _liveblocks_core.JsonArray | any | any | readonly (_liveblocks_core.JsonScalar | _liveblocks_core.JsonArray | any | any | readonly (_liveblocks_core.JsonScalar | _liveblocks_core.JsonArray | any | any | readonly (_liveblocks_core.JsonScalar | _liveblocks_core.JsonArray | any | any | readonly (_liveblocks_core.JsonScalar | _liveblocks_core.JsonArray | any | any | readonly (_liveblocks_core.JsonScalar | _liveblocks_core.JsonArray | any | any | readonly (_liveblocks_core.JsonScalar | _liveblocks_core.JsonArray | any | any | readonly (_liveblocks_core.JsonScalar | _liveblocks_core.JsonArray | any | any | readonly (_liveblocks_core.JsonScalar | _liveblocks_core.JsonArray | any | any | readonly (_liveblocks_core.JsonScalar | _liveblocks_core.JsonArray | any | any | readonly (_liveblocks_core.JsonScalar | _liveblocks_core.JsonArray | any | any | readonly (_liveblocks_core.JsonScalar | _liveblocks_core.JsonArray | any | any | any | {
1205
- readonly [x: string]: _liveblocks_core.JsonScalar | _liveblocks_core.JsonArray | any | undefined;
1206
- })[] | {
1207
- readonly [x: string]: _liveblocks_core.JsonScalar | _liveblocks_core.JsonArray | any | undefined;
1208
- })[] | {
1209
- readonly [x: string]: _liveblocks_core.JsonScalar | _liveblocks_core.JsonArray | any | undefined;
1210
- })[] | {
1211
- readonly [x: string]: _liveblocks_core.JsonScalar | _liveblocks_core.JsonArray | any | undefined;
1212
- })[] | {
1213
- readonly [x: string]: _liveblocks_core.JsonScalar | _liveblocks_core.JsonArray | any | undefined;
1214
- })[] | {
1215
- readonly [x: string]: _liveblocks_core.JsonScalar | _liveblocks_core.JsonArray | any | undefined;
1216
- })[] | {
1217
- readonly [x: string]: _liveblocks_core.JsonScalar | _liveblocks_core.JsonArray | any | undefined;
1218
- })[] | {
1219
- readonly [x: string]: _liveblocks_core.JsonScalar | _liveblocks_core.JsonArray | any | undefined;
1220
- })[] | {
1221
- readonly [x: string]: _liveblocks_core.JsonScalar | _liveblocks_core.JsonArray | any | undefined;
1222
- })[] | {
1223
- readonly [x: string]: _liveblocks_core.JsonScalar | _liveblocks_core.JsonArray | any | undefined;
1224
- })[] | {
1225
- readonly [x: string]: _liveblocks_core.JsonScalar | _liveblocks_core.JsonArray | any | undefined;
1226
- })[] | {
1227
- readonly [x: string]: _liveblocks_core.JsonScalar | _liveblocks_core.JsonArray | any | undefined;
1228
- }> | any | readonly (_liveblocks_core.JsonScalar | _liveblocks_core.JsonArray | any | any | readonly (_liveblocks_core.JsonScalar | _liveblocks_core.JsonArray | any | any | readonly (_liveblocks_core.JsonScalar | _liveblocks_core.JsonArray | any | any | readonly (_liveblocks_core.JsonScalar | _liveblocks_core.JsonArray | any | any | readonly (_liveblocks_core.JsonScalar | _liveblocks_core.JsonArray | any | any | readonly (_liveblocks_core.JsonScalar | _liveblocks_core.JsonArray | any | any | readonly (_liveblocks_core.JsonScalar | _liveblocks_core.JsonArray | any | any | readonly (_liveblocks_core.JsonScalar | _liveblocks_core.JsonArray | any | any | readonly (_liveblocks_core.JsonScalar | _liveblocks_core.JsonArray | any | any | readonly (_liveblocks_core.JsonScalar | _liveblocks_core.JsonArray | any | any | readonly (_liveblocks_core.JsonScalar | _liveblocks_core.JsonArray | any | any | any | {
1229
- readonly [x: string]: _liveblocks_core.JsonScalar | _liveblocks_core.JsonArray | any | undefined;
1230
- })[] | {
1231
- readonly [x: string]: _liveblocks_core.JsonScalar | _liveblocks_core.JsonArray | any | undefined;
1232
- })[] | {
1233
- readonly [x: string]: _liveblocks_core.JsonScalar | _liveblocks_core.JsonArray | any | undefined;
1234
- })[] | {
1235
- readonly [x: string]: _liveblocks_core.JsonScalar | _liveblocks_core.JsonArray | any | undefined;
1236
- })[] | {
1237
- readonly [x: string]: _liveblocks_core.JsonScalar | _liveblocks_core.JsonArray | any | undefined;
1238
- })[] | {
1239
- readonly [x: string]: _liveblocks_core.JsonScalar | _liveblocks_core.JsonArray | any | undefined;
1240
- })[] | {
1241
- readonly [x: string]: _liveblocks_core.JsonScalar | _liveblocks_core.JsonArray | any | undefined;
1242
- })[] | {
1243
- readonly [x: string]: _liveblocks_core.JsonScalar | _liveblocks_core.JsonArray | any | undefined;
1244
- })[] | {
1245
- readonly [x: string]: _liveblocks_core.JsonScalar | _liveblocks_core.JsonArray | any | undefined;
1246
- })[] | {
1247
- readonly [x: string]: _liveblocks_core.JsonScalar | _liveblocks_core.JsonArray | any | undefined;
1248
- })[] | {
1249
- readonly [x: string]: _liveblocks_core.JsonScalar | _liveblocks_core.JsonArray | any | undefined;
1250
- })[] | {
1251
- readonly [x: string]: _liveblocks_core.JsonScalar | _liveblocks_core.JsonArray | any | undefined;
1252
- }> | any | readonly (_liveblocks_core.JsonScalar | _liveblocks_core.JsonArray | any | any | readonly (_liveblocks_core.JsonScalar | _liveblocks_core.JsonArray | any | any | readonly (_liveblocks_core.JsonScalar | _liveblocks_core.JsonArray | any | any | readonly (_liveblocks_core.JsonScalar | _liveblocks_core.JsonArray | any | any | readonly (_liveblocks_core.JsonScalar | _liveblocks_core.JsonArray | any | any | readonly (_liveblocks_core.JsonScalar | _liveblocks_core.JsonArray | any | any | readonly (_liveblocks_core.JsonScalar | _liveblocks_core.JsonArray | any | any | readonly (_liveblocks_core.JsonScalar | _liveblocks_core.JsonArray | any | any | readonly (_liveblocks_core.JsonScalar | _liveblocks_core.JsonArray | any | any | readonly (_liveblocks_core.JsonScalar | _liveblocks_core.JsonArray | any | any | readonly (_liveblocks_core.JsonScalar | _liveblocks_core.JsonArray | any | any | any | {
1253
- readonly [x: string]: _liveblocks_core.JsonScalar | _liveblocks_core.JsonArray | any | undefined;
1254
- })[] | {
1255
- readonly [x: string]: _liveblocks_core.JsonScalar | _liveblocks_core.JsonArray | any | undefined;
1256
- })[] | {
1257
- readonly [x: string]: _liveblocks_core.JsonScalar | _liveblocks_core.JsonArray | any | undefined;
1258
- })[] | {
1259
- readonly [x: string]: _liveblocks_core.JsonScalar | _liveblocks_core.JsonArray | any | undefined;
1260
- })[] | {
1261
- readonly [x: string]: _liveblocks_core.JsonScalar | _liveblocks_core.JsonArray | any | undefined;
1262
- })[] | {
1263
- readonly [x: string]: _liveblocks_core.JsonScalar | _liveblocks_core.JsonArray | any | undefined;
1264
- })[] | {
1265
- readonly [x: string]: _liveblocks_core.JsonScalar | _liveblocks_core.JsonArray | any | undefined;
1266
- })[] | {
1267
- readonly [x: string]: _liveblocks_core.JsonScalar | _liveblocks_core.JsonArray | any | undefined;
1268
- })[] | {
1269
- readonly [x: string]: _liveblocks_core.JsonScalar | _liveblocks_core.JsonArray | any | undefined;
1270
- })[] | {
1271
- readonly [x: string]: _liveblocks_core.JsonScalar | _liveblocks_core.JsonArray | any | undefined;
1272
- })[] | {
1273
- readonly [x: string]: _liveblocks_core.JsonScalar | _liveblocks_core.JsonArray | any | undefined;
1274
- })[] | {
1275
- readonly [x: string]: _liveblocks_core.JsonScalar | _liveblocks_core.JsonArray | any | undefined;
1276
- }> | any | readonly (_liveblocks_core.JsonScalar | _liveblocks_core.JsonArray | any | any | readonly (_liveblocks_core.JsonScalar | _liveblocks_core.JsonArray | any | any | readonly (_liveblocks_core.JsonScalar | _liveblocks_core.JsonArray | any | any | readonly (_liveblocks_core.JsonScalar | _liveblocks_core.JsonArray | any | any | readonly (_liveblocks_core.JsonScalar | _liveblocks_core.JsonArray | any | any | readonly (_liveblocks_core.JsonScalar | _liveblocks_core.JsonArray | any | any | readonly (_liveblocks_core.JsonScalar | _liveblocks_core.JsonArray | any | any | readonly (_liveblocks_core.JsonScalar | _liveblocks_core.JsonArray | any | any | readonly (_liveblocks_core.JsonScalar | _liveblocks_core.JsonArray | any | any | readonly (_liveblocks_core.JsonScalar | _liveblocks_core.JsonArray | any | any | readonly (_liveblocks_core.JsonScalar | _liveblocks_core.JsonArray | any | any | any | {
1277
- readonly [x: string]: _liveblocks_core.JsonScalar | _liveblocks_core.JsonArray | any | undefined;
1278
- })[] | {
1279
- readonly [x: string]: _liveblocks_core.JsonScalar | _liveblocks_core.JsonArray | any | undefined;
1280
- })[] | {
1281
- readonly [x: string]: _liveblocks_core.JsonScalar | _liveblocks_core.JsonArray | any | undefined;
1282
- })[] | {
1283
- readonly [x: string]: _liveblocks_core.JsonScalar | _liveblocks_core.JsonArray | any | undefined;
1284
- })[] | {
1285
- readonly [x: string]: _liveblocks_core.JsonScalar | _liveblocks_core.JsonArray | any | undefined;
1286
- })[] | {
1287
- readonly [x: string]: _liveblocks_core.JsonScalar | _liveblocks_core.JsonArray | any | undefined;
1288
- })[] | {
1289
- readonly [x: string]: _liveblocks_core.JsonScalar | _liveblocks_core.JsonArray | any | undefined;
1290
- })[] | {
1291
- readonly [x: string]: _liveblocks_core.JsonScalar | _liveblocks_core.JsonArray | any | undefined;
1292
- })[] | {
1293
- readonly [x: string]: _liveblocks_core.JsonScalar | _liveblocks_core.JsonArray | any | undefined;
1294
- })[] | {
1295
- readonly [x: string]: _liveblocks_core.JsonScalar | _liveblocks_core.JsonArray | any | undefined;
1296
- })[] | {
1297
- readonly [x: string]: _liveblocks_core.JsonScalar | _liveblocks_core.JsonArray | any | undefined;
1298
- })[] | {
1299
- readonly [x: string]: _liveblocks_core.JsonScalar | _liveblocks_core.JsonArray | any | undefined;
1300
- }> | any | readonly (_liveblocks_core.JsonScalar | _liveblocks_core.JsonArray | any | any | readonly (_liveblocks_core.JsonScalar | _liveblocks_core.JsonArray | any | any | readonly (_liveblocks_core.JsonScalar | _liveblocks_core.JsonArray | any | any | readonly (_liveblocks_core.JsonScalar | _liveblocks_core.JsonArray | any | any | readonly (_liveblocks_core.JsonScalar | _liveblocks_core.JsonArray | any | any | readonly (_liveblocks_core.JsonScalar | _liveblocks_core.JsonArray | any | any | readonly (_liveblocks_core.JsonScalar | _liveblocks_core.JsonArray | any | any | readonly (_liveblocks_core.JsonScalar | _liveblocks_core.JsonArray | any | any | readonly (_liveblocks_core.JsonScalar | _liveblocks_core.JsonArray | any | any | readonly (_liveblocks_core.JsonScalar | _liveblocks_core.JsonArray | any | any | readonly (_liveblocks_core.JsonScalar | _liveblocks_core.JsonArray | any | any | any | {
1301
- readonly [x: string]: _liveblocks_core.JsonScalar | _liveblocks_core.JsonArray | any | undefined;
1302
- })[] | {
1303
- readonly [x: string]: _liveblocks_core.JsonScalar | _liveblocks_core.JsonArray | any | undefined;
1304
- })[] | {
1305
- readonly [x: string]: _liveblocks_core.JsonScalar | _liveblocks_core.JsonArray | any | undefined;
1306
- })[] | {
1307
- readonly [x: string]: _liveblocks_core.JsonScalar | _liveblocks_core.JsonArray | any | undefined;
1308
- })[] | {
1309
- readonly [x: string]: _liveblocks_core.JsonScalar | _liveblocks_core.JsonArray | any | undefined;
1310
- })[] | {
1311
- readonly [x: string]: _liveblocks_core.JsonScalar | _liveblocks_core.JsonArray | any | undefined;
1312
- })[] | {
1313
- readonly [x: string]: _liveblocks_core.JsonScalar | _liveblocks_core.JsonArray | any | undefined;
1314
- })[] | {
1315
- readonly [x: string]: _liveblocks_core.JsonScalar | _liveblocks_core.JsonArray | any | undefined;
1316
- })[] | {
1317
- readonly [x: string]: _liveblocks_core.JsonScalar | _liveblocks_core.JsonArray | any | undefined;
1318
- })[] | {
1319
- readonly [x: string]: _liveblocks_core.JsonScalar | _liveblocks_core.JsonArray | any | undefined;
1320
- })[] | {
1321
- readonly [x: string]: _liveblocks_core.JsonScalar | _liveblocks_core.JsonArray | any | undefined;
1322
- })[] | {
1323
- readonly [x: string]: _liveblocks_core.JsonScalar | _liveblocks_core.JsonArray | any | undefined;
1324
- }> | any | readonly (_liveblocks_core.JsonScalar | _liveblocks_core.JsonArray | any | any | readonly (_liveblocks_core.JsonScalar | _liveblocks_core.JsonArray | any | any | readonly (_liveblocks_core.JsonScalar | _liveblocks_core.JsonArray | any | any | readonly (_liveblocks_core.JsonScalar | _liveblocks_core.JsonArray | any | any | readonly (_liveblocks_core.JsonScalar | _liveblocks_core.JsonArray | any | any | readonly (_liveblocks_core.JsonScalar | _liveblocks_core.JsonArray | any | any | readonly (_liveblocks_core.JsonScalar | _liveblocks_core.JsonArray | any | any | readonly (_liveblocks_core.JsonScalar | _liveblocks_core.JsonArray | any | any | readonly (_liveblocks_core.JsonScalar | _liveblocks_core.JsonArray | any | any | readonly (_liveblocks_core.JsonScalar | _liveblocks_core.JsonArray | any | any | readonly (_liveblocks_core.JsonScalar | _liveblocks_core.JsonArray | any | any | any | {
1325
- readonly [x: string]: _liveblocks_core.JsonScalar | _liveblocks_core.JsonArray | any | undefined;
1326
- })[] | {
1327
- readonly [x: string]: _liveblocks_core.JsonScalar | _liveblocks_core.JsonArray | any | undefined;
1328
- })[] | {
1329
- readonly [x: string]: _liveblocks_core.JsonScalar | _liveblocks_core.JsonArray | any | undefined;
1330
- })[] | {
1331
- readonly [x: string]: _liveblocks_core.JsonScalar | _liveblocks_core.JsonArray | any | undefined;
1332
- })[] | {
1333
- readonly [x: string]: _liveblocks_core.JsonScalar | _liveblocks_core.JsonArray | any | undefined;
1334
- })[] | {
1335
- readonly [x: string]: _liveblocks_core.JsonScalar | _liveblocks_core.JsonArray | any | undefined;
1336
- })[] | {
1337
- readonly [x: string]: _liveblocks_core.JsonScalar | _liveblocks_core.JsonArray | any | undefined;
1338
- })[] | {
1339
- readonly [x: string]: _liveblocks_core.JsonScalar | _liveblocks_core.JsonArray | any | undefined;
1340
- })[] | {
1341
- readonly [x: string]: _liveblocks_core.JsonScalar | _liveblocks_core.JsonArray | any | undefined;
1342
- })[] | {
1343
- readonly [x: string]: _liveblocks_core.JsonScalar | _liveblocks_core.JsonArray | any | undefined;
1344
- })[] | {
1345
- readonly [x: string]: _liveblocks_core.JsonScalar | _liveblocks_core.JsonArray | any | undefined;
1346
- })[] | {
1347
- readonly [x: string]: _liveblocks_core.JsonScalar | _liveblocks_core.JsonArray | any | undefined;
1348
- }> | any | readonly (_liveblocks_core.JsonScalar | _liveblocks_core.JsonArray | any | any | readonly (_liveblocks_core.JsonScalar | _liveblocks_core.JsonArray | any | any | readonly (_liveblocks_core.JsonScalar | _liveblocks_core.JsonArray | any | any | readonly (_liveblocks_core.JsonScalar | _liveblocks_core.JsonArray | any | any | readonly (_liveblocks_core.JsonScalar | _liveblocks_core.JsonArray | any | any | readonly (_liveblocks_core.JsonScalar | _liveblocks_core.JsonArray | any | any | readonly (_liveblocks_core.JsonScalar | _liveblocks_core.JsonArray | any | any | readonly (_liveblocks_core.JsonScalar | _liveblocks_core.JsonArray | any | any | readonly (_liveblocks_core.JsonScalar | _liveblocks_core.JsonArray | any | any | readonly (_liveblocks_core.JsonScalar | _liveblocks_core.JsonArray | any | any | readonly (_liveblocks_core.JsonScalar | _liveblocks_core.JsonArray | any | any | any | {
1349
- readonly [x: string]: _liveblocks_core.JsonScalar | _liveblocks_core.JsonArray | any | undefined;
1350
- })[] | {
1351
- readonly [x: string]: _liveblocks_core.JsonScalar | _liveblocks_core.JsonArray | any | undefined;
1352
- })[] | {
1353
- readonly [x: string]: _liveblocks_core.JsonScalar | _liveblocks_core.JsonArray | any | undefined;
1354
- })[] | {
1355
- readonly [x: string]: _liveblocks_core.JsonScalar | _liveblocks_core.JsonArray | any | undefined;
1356
- })[] | {
1357
- readonly [x: string]: _liveblocks_core.JsonScalar | _liveblocks_core.JsonArray | any | undefined;
1358
- })[] | {
1359
- readonly [x: string]: _liveblocks_core.JsonScalar | _liveblocks_core.JsonArray | any | undefined;
1360
- })[] | {
1361
- readonly [x: string]: _liveblocks_core.JsonScalar | _liveblocks_core.JsonArray | any | undefined;
1362
- })[] | {
1363
- readonly [x: string]: _liveblocks_core.JsonScalar | _liveblocks_core.JsonArray | any | undefined;
1364
- })[] | {
1365
- readonly [x: string]: _liveblocks_core.JsonScalar | _liveblocks_core.JsonArray | any | undefined;
1366
- })[] | {
1367
- readonly [x: string]: _liveblocks_core.JsonScalar | _liveblocks_core.JsonArray | any | undefined;
1368
- })[] | {
1369
- readonly [x: string]: _liveblocks_core.JsonScalar | _liveblocks_core.JsonArray | any | undefined;
1370
- })[] | {
1371
- readonly [x: string]: _liveblocks_core.JsonScalar | _liveblocks_core.JsonArray | any | undefined;
1372
- }> | any | readonly (_liveblocks_core.JsonScalar | _liveblocks_core.JsonArray | any | any | readonly (_liveblocks_core.JsonScalar | _liveblocks_core.JsonArray | any | any | readonly (_liveblocks_core.JsonScalar | _liveblocks_core.JsonArray | any | any | readonly (_liveblocks_core.JsonScalar | _liveblocks_core.JsonArray | any | any | readonly (_liveblocks_core.JsonScalar | _liveblocks_core.JsonArray | any | any | readonly (_liveblocks_core.JsonScalar | _liveblocks_core.JsonArray | any | any | readonly (_liveblocks_core.JsonScalar | _liveblocks_core.JsonArray | any | any | readonly (_liveblocks_core.JsonScalar | _liveblocks_core.JsonArray | any | any | readonly (_liveblocks_core.JsonScalar | _liveblocks_core.JsonArray | any | any | readonly (_liveblocks_core.JsonScalar | _liveblocks_core.JsonArray | any | any | readonly (_liveblocks_core.JsonScalar | _liveblocks_core.JsonArray | any | any | any | {
1373
- readonly [x: string]: _liveblocks_core.JsonScalar | _liveblocks_core.JsonArray | any | undefined;
1374
- })[] | {
1375
- readonly [x: string]: _liveblocks_core.JsonScalar | _liveblocks_core.JsonArray | any | undefined;
1376
- })[] | {
1377
- readonly [x: string]: _liveblocks_core.JsonScalar | _liveblocks_core.JsonArray | any | undefined;
1378
- })[] | {
1379
- readonly [x: string]: _liveblocks_core.JsonScalar | _liveblocks_core.JsonArray | any | undefined;
1380
- })[] | {
1381
- readonly [x: string]: _liveblocks_core.JsonScalar | _liveblocks_core.JsonArray | any | undefined;
1382
- })[] | {
1383
- readonly [x: string]: _liveblocks_core.JsonScalar | _liveblocks_core.JsonArray | any | undefined;
1384
- })[] | {
1385
- readonly [x: string]: _liveblocks_core.JsonScalar | _liveblocks_core.JsonArray | any | undefined;
1386
- })[] | {
1387
- readonly [x: string]: _liveblocks_core.JsonScalar | _liveblocks_core.JsonArray | any | undefined;
1388
- })[] | {
1389
- readonly [x: string]: _liveblocks_core.JsonScalar | _liveblocks_core.JsonArray | any | undefined;
1390
- })[] | {
1391
- readonly [x: string]: _liveblocks_core.JsonScalar | _liveblocks_core.JsonArray | any | undefined;
1392
- })[] | {
1393
- readonly [x: string]: _liveblocks_core.JsonScalar | _liveblocks_core.JsonArray | any | undefined;
1394
- })[] | {
1395
- readonly [x: string]: _liveblocks_core.JsonScalar | _liveblocks_core.JsonArray | any | undefined;
1396
- }> | any | readonly (_liveblocks_core.JsonScalar | _liveblocks_core.JsonArray | any | any | readonly (_liveblocks_core.JsonScalar | _liveblocks_core.JsonArray | any | any | readonly (_liveblocks_core.JsonScalar | _liveblocks_core.JsonArray | any | any | readonly (_liveblocks_core.JsonScalar | _liveblocks_core.JsonArray | any | any | readonly (_liveblocks_core.JsonScalar | _liveblocks_core.JsonArray | any | any | readonly (_liveblocks_core.JsonScalar | _liveblocks_core.JsonArray | any | any | readonly (_liveblocks_core.JsonScalar | _liveblocks_core.JsonArray | any | any | readonly (_liveblocks_core.JsonScalar | _liveblocks_core.JsonArray | any | any | readonly (_liveblocks_core.JsonScalar | _liveblocks_core.JsonArray | any | any | readonly (_liveblocks_core.JsonScalar | _liveblocks_core.JsonArray | any | any | readonly (_liveblocks_core.JsonScalar | _liveblocks_core.JsonArray | any | any | any | {
1397
- readonly [x: string]: _liveblocks_core.JsonScalar | _liveblocks_core.JsonArray | any | undefined;
1398
- })[] | {
1399
- readonly [x: string]: _liveblocks_core.JsonScalar | _liveblocks_core.JsonArray | any | undefined;
1400
- })[] | {
1401
- readonly [x: string]: _liveblocks_core.JsonScalar | _liveblocks_core.JsonArray | any | undefined;
1402
- })[] | {
1403
- readonly [x: string]: _liveblocks_core.JsonScalar | _liveblocks_core.JsonArray | any | undefined;
1404
- })[] | {
1405
- readonly [x: string]: _liveblocks_core.JsonScalar | _liveblocks_core.JsonArray | any | undefined;
1406
- })[] | {
1407
- readonly [x: string]: _liveblocks_core.JsonScalar | _liveblocks_core.JsonArray | any | undefined;
1408
- })[] | {
1409
- readonly [x: string]: _liveblocks_core.JsonScalar | _liveblocks_core.JsonArray | any | undefined;
1410
- })[] | {
1411
- readonly [x: string]: _liveblocks_core.JsonScalar | _liveblocks_core.JsonArray | any | undefined;
1412
- })[] | {
1413
- readonly [x: string]: _liveblocks_core.JsonScalar | _liveblocks_core.JsonArray | any | undefined;
1414
- })[] | {
1415
- readonly [x: string]: _liveblocks_core.JsonScalar | _liveblocks_core.JsonArray | any | undefined;
1416
- })[] | {
1417
- readonly [x: string]: _liveblocks_core.JsonScalar | _liveblocks_core.JsonArray | any | undefined;
1418
- })[] | {
1419
- readonly [x: string]: _liveblocks_core.JsonScalar | _liveblocks_core.JsonArray | any | undefined;
1420
- }> | any | readonly (_liveblocks_core.JsonScalar | _liveblocks_core.JsonArray | any | any | readonly (_liveblocks_core.JsonScalar | _liveblocks_core.JsonArray | any | any | readonly (_liveblocks_core.JsonScalar | _liveblocks_core.JsonArray | any | any | readonly (_liveblocks_core.JsonScalar | _liveblocks_core.JsonArray | any | any | readonly (_liveblocks_core.JsonScalar | _liveblocks_core.JsonArray | any | any | readonly (_liveblocks_core.JsonScalar | _liveblocks_core.JsonArray | any | any | readonly (_liveblocks_core.JsonScalar | _liveblocks_core.JsonArray | any | any | readonly (_liveblocks_core.JsonScalar | _liveblocks_core.JsonArray | any | any | readonly (_liveblocks_core.JsonScalar | _liveblocks_core.JsonArray | any | any | readonly (_liveblocks_core.JsonScalar | _liveblocks_core.JsonArray | any | any | readonly (_liveblocks_core.JsonScalar | _liveblocks_core.JsonArray | any | any | any | {
1421
- readonly [x: string]: _liveblocks_core.JsonScalar | _liveblocks_core.JsonArray | any | undefined;
1422
- })[] | {
1423
- readonly [x: string]: _liveblocks_core.JsonScalar | _liveblocks_core.JsonArray | any | undefined;
1424
- })[] | {
1425
- readonly [x: string]: _liveblocks_core.JsonScalar | _liveblocks_core.JsonArray | any | undefined;
1426
- })[] | {
1427
- readonly [x: string]: _liveblocks_core.JsonScalar | _liveblocks_core.JsonArray | any | undefined;
1428
- })[] | {
1429
- readonly [x: string]: _liveblocks_core.JsonScalar | _liveblocks_core.JsonArray | any | undefined;
1430
- })[] | {
1431
- readonly [x: string]: _liveblocks_core.JsonScalar | _liveblocks_core.JsonArray | any | undefined;
1432
- })[] | {
1433
- readonly [x: string]: _liveblocks_core.JsonScalar | _liveblocks_core.JsonArray | any | undefined;
1434
- })[] | {
1435
- readonly [x: string]: _liveblocks_core.JsonScalar | _liveblocks_core.JsonArray | any | undefined;
1436
- })[] | {
1437
- readonly [x: string]: _liveblocks_core.JsonScalar | _liveblocks_core.JsonArray | any | undefined;
1438
- })[] | {
1439
- readonly [x: string]: _liveblocks_core.JsonScalar | _liveblocks_core.JsonArray | any | undefined;
1440
- })[] | {
1441
- readonly [x: string]: _liveblocks_core.JsonScalar | _liveblocks_core.JsonArray | any | undefined;
1442
- })[] | {
1443
- readonly [x: string]: _liveblocks_core.JsonScalar | _liveblocks_core.JsonArray | any | undefined;
1444
- }> | any | readonly (_liveblocks_core.JsonScalar | _liveblocks_core.JsonArray | any | any | readonly (_liveblocks_core.JsonScalar | _liveblocks_core.JsonArray | any | any | readonly (_liveblocks_core.JsonScalar | _liveblocks_core.JsonArray | any | any | readonly (_liveblocks_core.JsonScalar | _liveblocks_core.JsonArray | any | any | readonly (_liveblocks_core.JsonScalar | _liveblocks_core.JsonArray | any | any | readonly (_liveblocks_core.JsonScalar | _liveblocks_core.JsonArray | any | any | readonly (_liveblocks_core.JsonScalar | _liveblocks_core.JsonArray | any | any | readonly (_liveblocks_core.JsonScalar | _liveblocks_core.JsonArray | any | any | readonly (_liveblocks_core.JsonScalar | _liveblocks_core.JsonArray | any | any | readonly (_liveblocks_core.JsonScalar | _liveblocks_core.JsonArray | any | any | readonly (_liveblocks_core.JsonScalar | _liveblocks_core.JsonArray | any | any | any | {
1445
- readonly [x: string]: _liveblocks_core.JsonScalar | _liveblocks_core.JsonArray | any | undefined;
1446
- })[] | {
1447
- readonly [x: string]: _liveblocks_core.JsonScalar | _liveblocks_core.JsonArray | any | undefined;
1448
- })[] | {
1449
- readonly [x: string]: _liveblocks_core.JsonScalar | _liveblocks_core.JsonArray | any | undefined;
1450
- })[] | {
1451
- readonly [x: string]: _liveblocks_core.JsonScalar | _liveblocks_core.JsonArray | any | undefined;
1452
- })[] | {
1453
- readonly [x: string]: _liveblocks_core.JsonScalar | _liveblocks_core.JsonArray | any | undefined;
1454
- })[] | {
1455
- readonly [x: string]: _liveblocks_core.JsonScalar | _liveblocks_core.JsonArray | any | undefined;
1456
- })[] | {
1457
- readonly [x: string]: _liveblocks_core.JsonScalar | _liveblocks_core.JsonArray | any | undefined;
1458
- })[] | {
1459
- readonly [x: string]: _liveblocks_core.JsonScalar | _liveblocks_core.JsonArray | any | undefined;
1460
- })[] | {
1461
- readonly [x: string]: _liveblocks_core.JsonScalar | _liveblocks_core.JsonArray | any | undefined;
1462
- })[] | {
1463
- readonly [x: string]: _liveblocks_core.JsonScalar | _liveblocks_core.JsonArray | any | undefined;
1464
- })[] | {
1465
- readonly [x: string]: _liveblocks_core.JsonScalar | _liveblocks_core.JsonArray | any | undefined;
1466
- })[] | {
1467
- readonly [x: string]: _liveblocks_core.JsonScalar | _liveblocks_core.JsonArray | any | undefined;
1468
- }> | any | readonly (_liveblocks_core.JsonScalar | _liveblocks_core.JsonArray | any | any | readonly (_liveblocks_core.JsonScalar | _liveblocks_core.JsonArray | any | any | readonly (_liveblocks_core.JsonScalar | _liveblocks_core.JsonArray | any | any | readonly (_liveblocks_core.JsonScalar | _liveblocks_core.JsonArray | any | any | readonly (_liveblocks_core.JsonScalar | _liveblocks_core.JsonArray | any | any | readonly (_liveblocks_core.JsonScalar | _liveblocks_core.JsonArray | any | any | readonly (_liveblocks_core.JsonScalar | _liveblocks_core.JsonArray | any | any | readonly (_liveblocks_core.JsonScalar | _liveblocks_core.JsonArray | any | any | readonly (_liveblocks_core.JsonScalar | _liveblocks_core.JsonArray | any | any | readonly (_liveblocks_core.JsonScalar | _liveblocks_core.JsonArray | any | any | readonly (_liveblocks_core.JsonScalar | _liveblocks_core.JsonArray | any | any | any | {
1469
- readonly [x: string]: _liveblocks_core.JsonScalar | _liveblocks_core.JsonArray | any | undefined;
1470
- })[] | {
1471
- readonly [x: string]: _liveblocks_core.JsonScalar | _liveblocks_core.JsonArray | any | undefined;
1472
- })[] | {
1473
- readonly [x: string]: _liveblocks_core.JsonScalar | _liveblocks_core.JsonArray | any | undefined;
1474
- })[] | {
1475
- readonly [x: string]: _liveblocks_core.JsonScalar | _liveblocks_core.JsonArray | any | undefined;
1476
- })[] | {
1477
- readonly [x: string]: _liveblocks_core.JsonScalar | _liveblocks_core.JsonArray | any | undefined;
1478
- })[] | {
1479
- readonly [x: string]: _liveblocks_core.JsonScalar | _liveblocks_core.JsonArray | any | undefined;
1480
- })[] | {
1481
- readonly [x: string]: _liveblocks_core.JsonScalar | _liveblocks_core.JsonArray | any | undefined;
1482
- })[] | {
1483
- readonly [x: string]: _liveblocks_core.JsonScalar | _liveblocks_core.JsonArray | any | undefined;
1484
- })[] | {
1485
- readonly [x: string]: _liveblocks_core.JsonScalar | _liveblocks_core.JsonArray | any | undefined;
1486
- })[] | {
1487
- readonly [x: string]: _liveblocks_core.JsonScalar | _liveblocks_core.JsonArray | any | undefined;
1488
- })[] | {
1489
- readonly [x: string]: _liveblocks_core.JsonScalar | _liveblocks_core.JsonArray | any | undefined;
1490
- })[] | {
1491
- readonly [x: string]: _liveblocks_core.JsonScalar | _liveblocks_core.JsonArray | any | undefined;
1492
- } | undefined;
1493
- }) => T_6, isEqual?: ((prev: T_6, curr: T_6) => boolean) | undefined) => T_6;
1494
- useSelf: {
1495
- (): User<JsonObject, BaseUserMeta>;
1496
- <T_7>(selector: (me: User<JsonObject, BaseUserMeta>) => T_7, isEqual?: ((prev: T_7, curr: T_7) => boolean) | undefined): T_7;
1497
- };
1498
- useThreads: (options?: ThreadsFilterOptions<BaseMetadata> | undefined) => ThreadsStateSuccess<BaseMetadata>;
1499
- useUser: (userId: string) => UserStateSuccess<_liveblocks_core.IUserInfo | undefined>;
1500
- useList: <TKey_3 extends string>(key: TKey_3) => _liveblocks_core.Lson | undefined;
1501
- useMap: <TKey_4 extends string>(key: TKey_4) => _liveblocks_core.Lson | undefined;
1502
- useObject: <TKey_5 extends string>(key: TKey_5) => _liveblocks_core.Lson | undefined;
1503
- };
1504
- hasResolveMentionSuggestions: boolean;
1505
- useMentionSuggestions: (search?: string | undefined) => string[] | undefined;
1506
- };
1507
- declare function createRoomContext<TPresence extends JsonObject, TStorage extends LsonObject = LsonObject, TUserMeta extends BaseUserMeta = BaseUserMeta, TRoomEvent extends Json = never, TThreadMetadata extends BaseMetadata = never>(client: Client, options?: Options<TUserMeta>): RoomContextBundle<TPresence, TStorage, TUserMeta, TRoomEvent, TThreadMetadata>;
1508
-
1509
- export { ClientSideSuspense, type MutationContext, type ResolveMentionSuggestionsArgs, type ResolveUsersArgs, createRoomContext, useRoomContextBundle };
3
+ import 'react';
4
+ import '@liveblocks/core';