import * as React from 'react'; import BaseComponent from '../_base/baseComponent'; import PropTypes from 'prop-types'; import type { ChatProps, ChatState } from './interface'; import '@douyinfe/semi-foundation/lib/es/chat/chat.css'; import ChatFoundation, { ChatAdapter } from '@douyinfe/semi-foundation/lib/es/chat/foundation'; import type { FileItem } from '../upload'; import { Upload } from '../index'; declare class Chat extends BaseComponent { static __SemiComponentName__: string; dragStatus: boolean; containerRef: React.RefObject; animation: any; wheelEventHandler: any; foundation: ChatFoundation; uploadRef: React.RefObject; dropAreaRef: React.RefObject; scrollTargetRef: React.RefObject; static propTypes: { className: PropTypes.Requireable; style: PropTypes.Requireable; roleConfig: PropTypes.Requireable; chats: PropTypes.Requireable; hints: PropTypes.Requireable; renderHintBox: PropTypes.Requireable<(...args: any[]) => any>; onChatsChange: PropTypes.Requireable<(...args: any[]) => any>; align: PropTypes.Requireable; chatBoxRenderConfig: PropTypes.Requireable; customMarkDownComponents: PropTypes.Requireable; onClear: PropTypes.Requireable<(...args: any[]) => any>; onMessageDelete: PropTypes.Requireable<(...args: any[]) => any>; onMessageReset: PropTypes.Requireable<(...args: any[]) => any>; onMessageCopy: PropTypes.Requireable<(...args: any[]) => any>; onMessageGoodFeedback: PropTypes.Requireable<(...args: any[]) => any>; onMessageBadFeedback: PropTypes.Requireable<(...args: any[]) => any>; inputContentConvert: PropTypes.Requireable<(...args: any[]) => any>; onMessageSend: PropTypes.Requireable<(...args: any[]) => any>; InputBoxStyle: PropTypes.Requireable; inputBoxCls: PropTypes.Requireable; renderFullInputBox: PropTypes.Requireable<(...args: any[]) => any>; placeholder: PropTypes.Requireable; topSlot: PropTypes.Requireable | PropTypes.Requireable; bottomSlot: PropTypes.Requireable | PropTypes.Requireable; showStopGenerate: PropTypes.Requireable; showClearContext: PropTypes.Requireable; hintStyle: PropTypes.Requireable; hintCls: PropTypes.Requireable; uploadProps: PropTypes.Requireable; uploadTipProps: PropTypes.Requireable; mode: PropTypes.Requireable; markdownRenderProps: PropTypes.Requireable; escapeHtml: PropTypes.Requireable; }; static defaultProps: any; constructor(props: ChatProps); get adapter(): ChatAdapter; static getDerivedStateFromProps(nextProps: ChatProps, prevState: ChatState): any; componentDidMount(): void; componentDidUpdate(prevProps: Readonly, prevState: Readonly, snapshot?: any): void; componentWillUnmount(): void; resetMessage: () => void; clearContext: () => void; scrollToBottom: (animation: boolean) => void; sendMessage: (content: string, attachment: FileItem[]) => void; containerScroll: (e: React.UIEvent) => void; render(): React.JSX.Element; } export default Chat;