UNPKG

@plteam/chat-ui

Version:

CUI Kit is a free and open-source library for creating AI assistant chat interfaces, built with React, Material UI, and TypeScript

28 lines (27 loc) 1.62 kB
import * as React from 'react'; import { ChatPropsTypes } from './useChatProps'; import { Thread, Message, FileAttachedParams } from '../../models'; import { PrivateApiRefType } from './useApiRef'; import { Threads } from '../../models/Threads'; import { FnType } from '../../models/types'; import SnackbarModel from '../../models/SnackbarModel'; import { ApiManager } from './useApiManager'; export type ChatGlobalContextType<DM extends Message = any, DD extends Thread<DM> = any> = { apiRef: React.RefObject<PrivateApiRefType>; model: Threads<DM, DD>; actionsAssistant: { element: Exclude<ChatPropsTypes<DM, DD>['assistantActions'], undefined>[number]; }[]; handleCreateNewThread: FnType<DD>; snackbar: SnackbarModel; onFileAttached?: (params: FileAttachedParams) => Promise<void> | void; } & Omit<ChatPropsTypes<DM, DD>, 'assistantActions' | 'thread' | 'threads' | 'handleCreateNewThread'>; type ProviderProps<DM extends Message = any, DD extends Thread<DM> = any> = React.PropsWithChildren<{ props: ChatPropsTypes<DM, DD>; apiManager: ApiManager; }>; declare const useChatContext: <DM extends Message, DD extends Thread<DM>>() => ChatGlobalContextType<DM, DD>; export declare const useSafeChatContext: <DM extends Message, DD extends Thread<DM>>() => ChatGlobalContextType<DM, DD>; declare const useChatModel: () => Threads<Message, Thread<Message>>; declare const ChatGlobalProvider: React.MemoExoticComponent<({ props, children, apiManager }: ProviderProps) => React.JSX.Element>; export { ChatGlobalProvider, useChatContext, useChatModel };