@liveblocks/react
Version:
A set of React hooks and providers to use Liveblocks declaratively. Liveblocks is the all-in-one toolkit to build collaborative products like Figma, Notion, and more.
80 lines (76 loc) • 4.37 kB
text/typescript
import { R as RegisterAiKnowledgeProps, w as RegisterAiToolProps } from './room-BE4TZf40.cjs';
export { C as ClientContext, L as LiveblocksProvider, M as MutationContext, y as RoomContext, J as RoomProvider, S as SendAiMessageOptions, U as UseSendAiMessageOptions, x as UseThreadsOptions, A as createLiveblocksContext, I as createRoomContext, K as useAddReaction, aE as useAiChat, aG as useAiChatMessages, aF as useAiChats, ar as useAttachmentUrl, N as useBroadcastEvent, O as useCanRedo, P as useCanUndo, z as useClient, ax as useCreateAiChat, Q as useCreateComment, T as useCreateThread, ay as useDeleteAiChat, B as useDeleteAllInboxNotifications, V as useDeleteComment, D as useDeleteInboxNotification, W as useDeleteThread, X as useEditComment, Y as useEditThreadMetadata, E as useErrorListener, a2 as useEventListener, a3 as useHistory, aj as useHistoryVersionData, as as useHistoryVersions, _ as useInboxNotificationThread, au as useInboxNotifications, a4 as useIsInsideRoom, a5 as useLostConnectionListener, F as useMarkAllInboxNotificationsAsRead, G as useMarkInboxNotificationAsRead, a6 as useMarkThreadAsRead, Z as useMarkThreadAsResolved, $ as useMarkThreadAsUnresolved, a7 as useMutation, a8 as useMyPresence, av as useNotificationSettings, ak as useOther, al as useOthers, am as useOthersConnectionIds, a9 as useOthersListener, an as useOthersMapped, aa as useRedo, ab as useRemoveReaction, ac as useRoom, aB as useRoomInfo, at as useRoomSubscriptionSettings, ao as useSelf, az as useSendAiMessage, ad as useStatus, ap as useStorage, ae as useStorageRoot, a0 as useSubscribeToThread, H as useSyncStatus, af as useThreadSubscription, aq as useThreads, ag as useUndo, aC as useUnreadInboxNotificationsCount, a1 as useUnsubscribeFromThread, ah as useUpdateMyPresence, aw as useUpdateNotificationSettings, ai as useUpdateRoomSubscriptionSettings, aD as useUser, aA as useUserThreads_experimental } from './room-BE4TZf40.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 '@liveblocks/core';
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;
/**
* Make knowledge about your application state available to any AI used in
* a chat or a one-off request.
*
* For example:
*
* <RegisterAiKnowledge
* description="The current mode of my application"
* value="dark" />
*
* <RegisterAiKnowledge
* description="The current list of todos"
* value={todos} />
*
* By mounting this component, the AI will get access to this knwoledge.
* By unmounting this component, the AI will no longer have access to it.
* It can choose to use or ignore this knowledge in its responses.
*/
declare const RegisterAiKnowledge: react.NamedExoticComponent<RegisterAiKnowledgeProps>;
/**
* Make a tool available to your AI chat or a one-off request.
* A tool is a piece of functionality that the AI can call to perform an action
* or look up information on the user's behalf.
*
* Also, tools are used to render custom UIs for tool invocations, which are
* embedded inside the AI chat.
*
* For example:
*
* <RegisterAiTool
* name="list-todos"
* tool={defineAiTool()({ ... })}
* />
*
* Or scoped to a specific chat:
*
* <RegisterAiTool
* name="list-todos"
* tool={defineAiTool()({ ... })}
* chatId="chat-1234"
* />
*
* By mounting this component, the tool is made available.
* By unmounting this component, the tool will no longer be available.
*/
declare const RegisterAiTool: react.NamedExoticComponent<RegisterAiToolProps>;
export { ClientSideSuspense, RegisterAiKnowledge, RegisterAiKnowledgeProps, RegisterAiTool, RegisterAiToolProps };