import React from 'react';
import type { AttachmentButtonProps } from '../AttachmentButton';
import type { AttachmentFile } from '../AttachmentButton/types';
import type { SendButtonCustomizationProps } from '../SendButton';
import type { CreateRecognizer } from '../VoiceInput';
export interface SendActionsProps {
    /** 附件配置 */
    attachment?: {
        enable?: boolean;
        supportedFormat?: AttachmentButtonProps['supportedFormat'];
        fileMap?: Map<string, AttachmentFile>;
        onFileMapChange?: (fileMap?: Map<string, AttachmentFile>) => void;
        onDelete?: (file: AttachmentFile) => Promise<void>;
        upload?: (file: AttachmentFile) => Promise<string | undefined>;
    } & AttachmentButtonProps;
    /** 语音识别器 */
    voiceRecognizer?: CreateRecognizer;
    /** 当前输入值 */
    value?: string;
    /** 是否禁用 */
    disabled?: boolean;
    /** 是否正在输入 */
    typing?: boolean;
    /** 是否加载中 */
    isLoading?: boolean;
    /** 文件上传是否完成 */
    fileUploadDone?: boolean;
    /** 是否正在录音 */
    recording?: boolean;
    /** 是否折叠操作按钮 */
    collapseSendActions?: boolean;
    /** 是否允许空内容提交 */
    allowEmptySubmit?: boolean;
    /** 上传图片回调 */
    uploadImage?: (forGallery?: boolean) => Promise<void>;
    /** 开始录音回调 */
    onStartRecording?: () => Promise<void>;
    /** 停止录音回调 */
    onStopRecording?: () => Promise<void>;
    /** 发送消息回调 */
    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;
    /** 发送按钮配置 */
    sendButtonProps?: SendButtonCustomizationProps;
}
/**
 * SendActions 组件 - 发送操作按钮区域
 *
 * @description 封装发送操作相关的按钮，包括附件上传、语音输入、发送按钮等
 */
export declare const SendActions: React.FC<SendActionsProps>;
