import React from 'react';
import type { LocalKeys } from '../../I18n';
export type SupportedFormat = {
    type: string;
    extensions: string[];
    icon: React.ReactNode;
    content?: React.ReactNode;
};
export type AttachmentButtonPopoverProps = {
    children?: React.ReactNode;
    supportedFormat?: SupportedFormat;
    /** 上传图片的处理函数 */
    uploadImage?: (forGallery?: boolean) => Promise<void>;
    /** 国际化文案，可覆盖 I18n 上下文中的配置。支持 `input.openGallery`、`input.openFile`、`input.supportedFormatMessage`（模板变量：${extensions}）等 */
    locale?: Partial<LocalKeys>;
};
export declare const SupportedFileFormats: {
    image: {
        icon: React.JSX.Element;
        type: string;
        extensions: string[];
    };
    document: {
        icon: React.JSX.Element;
        type: string;
        extensions: string[];
    };
    audio: {
        icon: React.JSX.Element;
        type: string;
        extensions: string[];
    };
    video: {
        icon: React.JSX.Element;
        type: string;
        extensions: string[];
    };
};
export declare const AttachmentSupportedFormatsContent: React.FC<AttachmentButtonPopoverProps>;
export declare const AttachmentButtonPopover: React.FC<AttachmentButtonPopoverProps>;
export default AttachmentButtonPopover;
