export { C as ClientContext, L as LiveblocksProvider, M as MutationContext, G as RoomProvider, U as UseStorageStatusOptions, v as UseThreadsOptions, w as createLiveblocksContext, F as createRoomContext, H as useAddReaction, am as useAttachmentUrl, I as useBatch, J as useBroadcastEvent, K as useCanRedo, N as useCanUndo, x as useClient, O as useCreateComment, P as useCreateThread, y as useDeleteAllInboxNotifications, Q as useDeleteComment, z as useDeleteInboxNotification, R as useDeleteThread, S as useEditComment, T as useEditThreadMetadata, A as useErrorListener, X as useEventListener, Y as useHistory, ad as useHistoryVersionData, an as useHistoryVersions, _ as useInboxNotificationThread, ap as useInboxNotifications, Z as useIsInsideRoom, $ as useLostConnectionListener, B as useMarkAllInboxNotificationsAsRead, D as useMarkInboxNotificationAsRead, a0 as useMarkThreadAsRead, V as useMarkThreadAsResolved, W as useMarkThreadAsUnresolved, a1 as useMutation, a2 as useMyPresence, aq as useNotificationSettings, ae as useOther, af as useOthers, ag as useOthersConnectionIds, a3 as useOthersListener, ah as useOthersMapped, a4 as useRedo, a5 as useRemoveReaction, a6 as useRoom, at as useRoomInfo, ao as useRoomNotificationSettings, ai as useSelf, a7 as useStatus, aj as useStorage, a8 as useStorageRoot, ak as useStorageStatus, E as useSyncStatus, a9 as useThreadSubscription, al as useThreads, aa as useUndo, au as useUnreadInboxNotificationsCount, ab as useUpdateMyPresence, ar as useUpdateNotificationSettings, ac as useUpdateRoomNotificationSettings, av as useUser, as as useUserThreads_experimental } from './room-CqmA66N2.cjs';
export { Json, JsonObject, isNotificationChannelEnabled, shallow } from '@liveblocks/client';
import * as react_jsx_runtime from 'react/jsx-runtime';
import * as react from 'react';
import { ReactNode } from 'react';
import { OpaqueRoom } from '@liveblocks/core';

/**
 * Raw access to the React context where the RoomProvider stores the current
 * room. Exposed for advanced use cases only.
 *
 * @private This is a private/advanced API. Do not rely on it.
 */
declare const RoomContext: react.Context<OpaqueRoom | null>;

type Props = {
    fallback: ReactNode;
    children: (() => ReactNode | undefined) | ReactNode | undefined;
};
/**
 * Almost like a normal <Suspense> component, except that for server-side
 * renders, the fallback will be used.
 *
 * The child props will have to be provided in a function, i.e. change:
 *
 *   <Suspense fallback={<Loading />}>
 *     <MyRealComponent a={1} />
 *   </Suspense>
 *
 * To:
 *
 *   <ClientSideSuspense fallback={<Loading />}>
 *     <MyRealComponent a={1} />
 *   </ClientSideSuspense>
 *
 */
declare function ClientSideSuspense(props: Props): react_jsx_runtime.JSX.Element;

export { ClientSideSuspense, RoomContext };
