import React from 'react'; import type { AttachmentButtonProps } from '../AttachmentButton'; import type { AttachmentFile } from '../AttachmentButton/types'; import type { CreateRecognizer } from '../VoiceInput'; export interface SendActionsProps { /** 附件配置 */ attachment?: { enable?: boolean; supportedFormat?: AttachmentButtonProps['supportedFormat']; fileMap?: Map; onFileMapChange?: (fileMap?: Map) => void; onDelete?: (file: AttachmentFile) => Promise; upload?: (file: AttachmentFile) => Promise; } & AttachmentButtonProps; /** 语音识别器 */ voiceRecognizer?: CreateRecognizer; /** 当前输入值 */ value?: string; /** 是否禁用 */ disabled?: boolean; /** 是否正在输入 */ typing?: boolean; /** 是否加载中 */ isLoading?: boolean; /** 文件上传是否完成 */ fileUploadDone?: boolean; /** 是否正在录音 */ recording?: boolean; /** 是否折叠操作按钮 */ collapseSendActions?: boolean; /** 是否允许空内容提交 */ allowEmptySubmit?: boolean; /** 上传图片回调 */ uploadImage?: (forGallery?: boolean) => Promise; /** 开始录音回调 */ onStartRecording?: () => Promise; /** 停止录音回调 */ onStopRecording?: () => Promise; /** 发送消息回调 */ onSend?: () => void; /** 停止操作回调 */ onStop?: () => void; /** 自定义渲染函数 */ actionsRender?: (props: any, defaultActions: React.ReactNode[]) => React.ReactNode[]; /** CSS 类名前缀 */ prefixCls?: string; /** hash ID */ hashId?: string; /** 是否有工具栏 */ hasTools?: boolean; /** resize 回调 */ onResize?: (width: number) => void; } /** * SendActions 组件 - 发送操作按钮区域 * * @description 封装发送操作相关的按钮,包括附件上传、语音输入、发送按钮等 */ export declare const SendActions: React.FC;