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 = any> = { apiRef: React.RefObject; model: Threads; actionsAssistant: { element: Exclude['assistantActions'], undefined>[number]; }[]; handleCreateNewThread: FnType
; snackbar: SnackbarModel; onFileAttached?: (params: FileAttachedParams) => Promise | void; } & Omit, 'assistantActions' | 'thread' | 'threads' | 'handleCreateNewThread'>; type ProviderProps = any> = React.PropsWithChildren<{ props: ChatPropsTypes; apiManager: ApiManager; }>; declare const useChatContext: >() => ChatGlobalContextType; export declare const useSafeChatContext: >() => ChatGlobalContextType; declare const useChatModel: () => Threads>; declare const ChatGlobalProvider: React.MemoExoticComponent<({ props, children, apiManager }: ProviderProps) => React.JSX.Element>; export { ChatGlobalProvider, useChatContext, useChatModel };