import type { UploadProps as AntdUploadProps } from "antd";
import type { RcFile, UploadChangeParam, UploadFile } from "antd/lib/upload/interface";
import React from "react";
import "./style.scss";
export { UploadFile, UploadChangeParam, RcFile };
interface SelectUploadProps<T> extends Omit<AntdUploadProps<T>, "type" | "onDownload" | "listType"> {
    type?: "select";
    placeholder?: string;
    placeholderTips?: string;
    showPlaceholder?: boolean;
    onRemove?: (file: UploadFile) => void;
    onRetry?: () => void;
    isGallery?: boolean;
    fileIcon?: string;
    emptyCheck?: boolean;
    showRemoveIcon?: boolean;
    galleryClassName?: string;
    galleryUploadTips?: string;
    showFileList?: boolean;
}
interface DragUploadProps<T> extends Omit<AntdUploadProps<T>, "type" | "onDownload" | "listType"> {
    type?: "drag";
    height?: number;
    width?: number;
    placeholder?: string;
    placeholderTips?: string;
    showPlaceholder?: boolean;
    onRetry?: () => void;
    isGallery?: boolean;
    fileIcon?: string;
    emptyCheck?: boolean;
    showRemoveIcon?: boolean;
    showFileList?: boolean;
}
export type UploadProps<T = any> = SelectUploadProps<T> | DragUploadProps<T>;
interface CompoundedComponent<T = any> extends React.ForwardRefExoticComponent<React.PropsWithChildren<UploadProps<T>> & React.RefAttributes<any>> {
    LIST_IGNORE: {};
}
declare const Upload: CompoundedComponent<any>;
export default Upload;
