import React, { ReactNode } from 'react'; import PropTypes from 'prop-types'; import type { ChatBoxProps, RenderActionProps } from '../interface'; import { BaseComponent } from '../../index'; import ChatBoxActionFoundation, { ChatBoxActionAdapter } from '@douyinfe/semi-foundation/lib/es/chat/chatBoxActionFoundation'; interface ChatBoxActionProps extends ChatBoxProps { customRenderFunc?: (props: RenderActionProps) => ReactNode; } interface ChatBoxActionState { visible: boolean; showAction: boolean; } declare class ChatBoxAction extends BaseComponent { static propTypes: { role: PropTypes.Requireable; message: PropTypes.Requireable; showReset: PropTypes.Requireable; onMessageBadFeedback: PropTypes.Requireable<(...args: any[]) => any>; onMessageGoodFeedback: PropTypes.Requireable<(...args: any[]) => any>; onMessageCopy: PropTypes.Requireable<(...args: any[]) => any>; onChatsChange: PropTypes.Requireable<(...args: any[]) => any>; onMessageDelete: PropTypes.Requireable<(...args: any[]) => any>; onMessageReset: PropTypes.Requireable<(...args: any[]) => any>; customRenderFunc: PropTypes.Requireable<(...args: any[]) => any>; }; copySuccessNode: ReactNode; foundation: ChatBoxActionFoundation; containerRef: React.RefObject; popconfirmTriggerRef: React.RefObject; clickOutsideHandler: any; constructor(props: ChatBoxProps); componentDidMount(): void; componentWillUnmount(): void; get adapter(): ChatBoxActionAdapter; copyNode: () => React.JSX.Element; likeNode: () => React.JSX.Element; dislikeNode: () => React.JSX.Element; resetNode: () => React.JSX.Element; deleteNode: () => React.JSX.Element; render(): string | number | boolean | Iterable | React.JSX.Element; } export default ChatBoxAction;