export { C as ClientContext, L as LiveblocksProvider, M as MutationContext, H as RoomProvider, U as UseStorageStatusOptions, w as UseThreadsOptions, x as createLiveblocksContext, G as createRoomContext, I as useAddReaction, aq as useAttachmentUrl, J as useBatch, K as useBroadcastEvent, N as useCanRedo, O as useCanUndo, y as useClient, P as useCreateComment, Q as useCreateThread, z as useDeleteAllInboxNotifications, R as useDeleteComment, A as useDeleteInboxNotification, S as useDeleteThread, T as useEditComment, V as useEditThreadMetadata, B as useErrorListener, $ as useEventListener, a0 as useHistory, ah as useHistoryVersionData, ar as useHistoryVersions, _ as useInboxNotificationThread, au as useInboxNotifications, a1 as useIsInsideRoom, a2 as useLostConnectionListener, D as useMarkAllInboxNotificationsAsRead, E as useMarkInboxNotificationAsRead, a3 as useMarkThreadAsRead, W as useMarkThreadAsResolved, X as useMarkThreadAsUnresolved, a4 as useMutation, a5 as useMyPresence, av as useNotificationSettings, ai as useOther, aj as useOthers, ak as useOthersConnectionIds, a6 as useOthersListener, al as useOthersMapped, a7 as useRedo, a8 as useRemoveReaction, a9 as useRoom, ay as useRoomInfo, as as useRoomNotificationSettings, at as useRoomSubscriptionSettings, am as useSelf, aa as useStatus, an as useStorage, ab as useStorageRoot, ao as useStorageStatus, Y as useSubscribeToThread, F as useSyncStatus, ac as useThreadSubscription, ap as useThreads, ad as useUndo, az as useUnreadInboxNotificationsCount, Z as useUnsubscribeFromThread, ae as useUpdateMyPresence, aw as useUpdateNotificationSettings, af as useUpdateRoomNotificationSettings, ag as useUpdateRoomSubscriptionSettings, aA as useUser, ax as useUserThreads_experimental } from './room-CqT08uWZ.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 };
