import * as React from "react";
import { MessagingTheme } from "../utils/messaging";
import "./MessagingAttachment.less";
declare type AttachmentPreviewProps = {
    attachmentURL: string;
    className?: string;
    closeButtonAriaLabel?: string;
    closeButtonText?: string;
    downloadButtonTextDesktop?: string;
    downloadButtonTextMobile?: string;
};
declare type Props = {
    attachmentPreviewProps: AttachmentPreviewProps;
    className?: string;
    errorMsg?: string;
    fileType: AttachmentFileType;
    icon?: React.ReactNode;
    isUpload?: boolean;
    onPreviewAttachment?: () => void;
    onClickDownload: () => void;
    onRemoveAttachment?: () => void;
    subtitle?: string;
    title?: string;
    uploadComplete?: boolean;
    theme?: MessagingTheme;
    dataTestID?: string;
};
export declare const MessagingAttachment: React.FC<Props>;
export declare type AttachmentFileType = "pdf" | "doc" | "docx" | "xls" | "xlsx" | "csv" | "ppt" | "pptx" | "jpg" | "jpeg" | "gif" | "png" | "svg" | "mp4" | "mov" | "wmv" | "mp3" | "wav" | "m4a" | "flv" | "txt" | null;
export declare const PreviewableFileTypes: Set<string>;
export declare type AttachmentIconType = "audio" | "catchall" | "doc" | "image" | "pdf" | "ppt" | "video" | "xls";
declare type AttachmentIconProps = {
    fileType: string;
    isUpload?: boolean;
    uploadComplete?: boolean;
    uploadError?: boolean;
    className?: string;
};
export declare function FileAttachmentIcon({ fileType, isUpload, uploadComplete, uploadError, className, }: AttachmentIconProps): JSX.Element;
export {};
