import { G as GroupAsyncResult } from './room-DG1r0yeF.js'; export { g as getUmbrellaStoreForClient, u as useAddRoomCommentReaction, a as useClientOrNull, b as useCreateRoomComment, c as useCreateRoomThread, d as useCreateTextMention, e as useDeleteRoomComment, f as useDeleteRoomThread, h as useDeleteTextMention, i as useEditRoomComment, j as useEditRoomThreadMetadata, k as useMarkRoomThreadAsRead, l as useMarkRoomThreadAsResolved, m as useMarkRoomThreadAsUnresolved, n as useMentionSuggestionsCache, o as useRemoveRoomCommentReaction, p as useReportTextEditor, q as useResolveMentionSuggestions, r as useRoomAttachmentUrl, s as useRoomPermissions, t as useRoomThreadSubscription, v as useSuspendUntilPresenceReady, w as useSuspendUntilStorageReady, x as useYjsProvider } from './room-DG1r0yeF.js'; import { MutableRefObject, useEffect } from 'react'; import { MentionData, ISignal, SyncSource } from '@liveblocks/core'; import '@liveblocks/client'; import 'react/jsx-runtime'; /** * "Freezes" a given value, so that it will return the same value/instance on * each subsequent render. This can be used to freeze "initial" values for * custom hooks, much like how `useState(initialState)` or * `useRef(initialValue)` works. */ declare function useInitial(value: T, roomId?: string): T; /** * Keeps a ref in sync with a given value that may or may not change on * every render. * * The purpose of this hook is to return a stable ref that can be passed * to a callback function so the callback can be registered but still can * access the latest value at a later point in time. */ declare function useLatest(value: T): MutableRefObject; declare const useLayoutEffect: typeof useEffect; /** @private - Internal API, do not rely on it. */ declare function useGroup(groupId: string): GroupAsyncResult; /** * @private For internal use only. Do not rely on this hook. * * Simplistic debounced search, we don't need to worry too much about deduping * and race conditions as there can only be one search at a time. */ declare function useMentionSuggestions(roomId: string, search?: string): MentionData[] | undefined; declare function useSignal(signal: ISignal): T; declare function useSignal(signal: ISignal, selector: (value: T) => V, isEqual?: (a: V, b: V) => boolean): V; declare function useSyncExternalStoreWithSelector(subscribe: (callback: () => void) => () => void, getSnapshot: () => Snapshot, getServerSnapshot: void | null | (() => Snapshot), selector: (snapshot: Snapshot) => Selection, isEqual?: (a: Selection, b: Selection) => boolean): Selection; /** * @private For internal use only. Do not rely on this hook. */ declare function useSyncSource(): SyncSource | undefined; export { useGroup, useInitial, useLatest, useLayoutEffect, useMentionSuggestions, useSignal, useSyncExternalStoreWithSelector, useSyncSource };