import { VueNode } from '../../_util/type';
import { UploadFile, UploadListType, UploadListProgressProps, UploadLocale, FileType, ItemRender } from '../interface';
import { DefineComponent, ExtractPropTypes, PropType, ComponentOptionsMixin, PublicProps, ComponentProvideOptions } from 'vue';
declare const _default: DefineComponent<ExtractPropTypes<{
    listType: {
        type: PropType<UploadListType>;
        default: UploadListType;
    };
    onPreview: {
        type: PropType<(file: UploadFile<any>) => void>;
        default: (file: UploadFile<any>) => void;
    };
    onDownload: {
        type: PropType<(file: UploadFile<any>) => void>;
        default: (file: UploadFile<any>) => void;
    };
    onRemove: {
        type: PropType<(file: UploadFile<any>) => void | boolean>;
        default: (file: UploadFile<any>) => void | boolean;
    };
    items: {
        type: PropType<UploadFile<any>[]>;
        default: UploadFile<any>[];
    };
    progress: {
        type: PropType<UploadListProgressProps>;
        default: UploadListProgressProps;
    };
    prefixCls: {
        type: PropType<string>;
        default: string;
    };
    showRemoveIcon: {
        type: BooleanConstructor;
        default: boolean;
    };
    showDownloadIcon: {
        type: BooleanConstructor;
        default: boolean;
    };
    showPreviewIcon: {
        type: BooleanConstructor;
        default: boolean;
    };
    removeIcon: {
        type: PropType<(opt: {
            file: UploadFile;
        }) => VueNode>;
        default: (opt: {
            file: UploadFile;
        }) => VueNode;
    };
    downloadIcon: {
        type: PropType<(opt: {
            file: UploadFile;
        }) => VueNode>;
        default: (opt: {
            file: UploadFile;
        }) => VueNode;
    };
    previewIcon: {
        type: PropType<(opt: {
            file: UploadFile;
        }) => VueNode>;
        default: (opt: {
            file: UploadFile;
        }) => VueNode;
    };
    locale: {
        type: PropType<UploadLocale>;
        default: UploadLocale;
    };
    previewFile: {
        type: PropType<(file: FileType | Blob) => PromiseLike<string>>;
        default: (file: FileType | Blob) => PromiseLike<string>;
    };
    iconRender: {
        type: PropType<(opt: {
            file: UploadFile<any>;
            listType?: UploadListType;
        }) => VueNode>;
        default: (opt: {
            file: UploadFile<any>;
            listType?: UploadListType;
        }) => VueNode;
    };
    isImageUrl: {
        type: PropType<(file: UploadFile) => boolean>;
        default: (file: UploadFile) => boolean;
    };
    appendAction: {
        type: PropType<() => VueNode>;
        default: () => VueNode;
    };
    appendActionVisible: {
        type: BooleanConstructor;
        default: boolean;
    };
    itemRender: {
        type: PropType<ItemRender<any>>;
        default: ItemRender<any>;
    };
}>, () => import("vue/jsx-runtime").JSX.Element, {}, {}, {}, ComponentOptionsMixin, ComponentOptionsMixin, {}, string, PublicProps, Readonly< ExtractPropTypes<{
    listType: {
        type: PropType<UploadListType>;
        default: UploadListType;
    };
    onPreview: {
        type: PropType<(file: UploadFile<any>) => void>;
        default: (file: UploadFile<any>) => void;
    };
    onDownload: {
        type: PropType<(file: UploadFile<any>) => void>;
        default: (file: UploadFile<any>) => void;
    };
    onRemove: {
        type: PropType<(file: UploadFile<any>) => void | boolean>;
        default: (file: UploadFile<any>) => void | boolean;
    };
    items: {
        type: PropType<UploadFile<any>[]>;
        default: UploadFile<any>[];
    };
    progress: {
        type: PropType<UploadListProgressProps>;
        default: UploadListProgressProps;
    };
    prefixCls: {
        type: PropType<string>;
        default: string;
    };
    showRemoveIcon: {
        type: BooleanConstructor;
        default: boolean;
    };
    showDownloadIcon: {
        type: BooleanConstructor;
        default: boolean;
    };
    showPreviewIcon: {
        type: BooleanConstructor;
        default: boolean;
    };
    removeIcon: {
        type: PropType<(opt: {
            file: UploadFile;
        }) => VueNode>;
        default: (opt: {
            file: UploadFile;
        }) => VueNode;
    };
    downloadIcon: {
        type: PropType<(opt: {
            file: UploadFile;
        }) => VueNode>;
        default: (opt: {
            file: UploadFile;
        }) => VueNode;
    };
    previewIcon: {
        type: PropType<(opt: {
            file: UploadFile;
        }) => VueNode>;
        default: (opt: {
            file: UploadFile;
        }) => VueNode;
    };
    locale: {
        type: PropType<UploadLocale>;
        default: UploadLocale;
    };
    previewFile: {
        type: PropType<(file: FileType | Blob) => PromiseLike<string>>;
        default: (file: FileType | Blob) => PromiseLike<string>;
    };
    iconRender: {
        type: PropType<(opt: {
            file: UploadFile<any>;
            listType?: UploadListType;
        }) => VueNode>;
        default: (opt: {
            file: UploadFile<any>;
            listType?: UploadListType;
        }) => VueNode;
    };
    isImageUrl: {
        type: PropType<(file: UploadFile) => boolean>;
        default: (file: UploadFile) => boolean;
    };
    appendAction: {
        type: PropType<() => VueNode>;
        default: () => VueNode;
    };
    appendActionVisible: {
        type: BooleanConstructor;
        default: boolean;
    };
    itemRender: {
        type: PropType<ItemRender<any>>;
        default: ItemRender<any>;
    };
}>> & Readonly<{}>, {
    progress: UploadListProgressProps;
    prefixCls: string;
    locale: UploadLocale;
    items: UploadFile<any>[];
    previewFile: (file: FileType | Blob) => PromiseLike<string>;
    itemRender: ItemRender<any>;
    removeIcon: (opt: {
        file: UploadFile;
    }) => VueNode;
    onRemove: (file: UploadFile<any>) => void | boolean;
    iconRender: (opt: {
        file: UploadFile<any>;
        listType?: UploadListType;
    }) => VueNode;
    listType: UploadListType;
    onPreview: (file: UploadFile<any>) => void;
    onDownload: (file: UploadFile<any>) => void;
    isImageUrl: (file: UploadFile) => boolean;
    downloadIcon: (opt: {
        file: UploadFile;
    }) => VueNode;
    previewIcon: (opt: {
        file: UploadFile;
    }) => VueNode;
    showRemoveIcon: boolean;
    showDownloadIcon: boolean;
    showPreviewIcon: boolean;
    appendAction: () => VueNode;
    appendActionVisible: boolean;
}, {}, {}, {}, string, ComponentProvideOptions, true, {}, any>;
export default _default;
