import { ExtractPropTypes, PropType, DefineComponent, ComponentOptionsMixin, PublicProps, ComponentProvideOptions } from 'vue';
import { VueNode } from '../../_util/type';
import { ItemRender, UploadFile, UploadListProgressProps, UploadListType, UploadLocale } from '../interface';
export declare const listItemProps: () => {
    prefixCls: StringConstructor;
    locale: {
        type: PropType<UploadLocale>;
        default: UploadLocale;
    };
    file: {
        type: PropType<UploadFile<any>>;
        default: UploadFile<any>;
    };
    items: {
        type: PropType<UploadFile<any>[]>;
        default: UploadFile<any>[];
    };
    listType: {
        type: PropType<UploadListType>;
        default: UploadListType;
    };
    isImgUrl: {
        type: PropType<(file: UploadFile) => boolean>;
        default: (file: UploadFile) => boolean;
    };
    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;
    };
    iconRender: {
        type: PropType<(opt: {
            file: UploadFile;
        }) => VueNode>;
        default: (opt: {
            file: UploadFile;
        }) => VueNode;
    };
    actionIconRender: {
        type: PropType<(opt: {
            customIcon: VueNode;
            callback: () => void;
            prefixCls: string;
            title?: string | undefined;
        }) => VueNode>;
        default: (opt: {
            customIcon: VueNode;
            callback: () => void;
            prefixCls: string;
            title?: string | undefined;
        }) => VueNode;
    };
    itemRender: {
        type: PropType<ItemRender>;
        default: ItemRender;
    };
    onPreview: {
        type: PropType<(file: UploadFile, e: Event) => void>;
        default: (file: UploadFile, e: Event) => void;
    };
    onClose: {
        type: PropType<(file: UploadFile) => void>;
        default: (file: UploadFile) => void;
    };
    onDownload: {
        type: PropType<(file: UploadFile) => void>;
        default: (file: UploadFile) => void;
    };
    progress: {
        type: PropType<UploadListProgressProps>;
        default: UploadListProgressProps;
    };
};
export type ListItemProps = Partial<ExtractPropTypes<ReturnType<typeof listItemProps>>>;
declare const _default: DefineComponent<ExtractPropTypes<{
    prefixCls: StringConstructor;
    locale: {
        type: PropType<UploadLocale>;
        default: UploadLocale;
    };
    file: {
        type: PropType<UploadFile<any>>;
        default: UploadFile<any>;
    };
    items: {
        type: PropType<UploadFile<any>[]>;
        default: UploadFile<any>[];
    };
    listType: {
        type: PropType<UploadListType>;
        default: UploadListType;
    };
    isImgUrl: {
        type: PropType<(file: UploadFile) => boolean>;
        default: (file: UploadFile) => boolean;
    };
    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;
    };
    iconRender: {
        type: PropType<(opt: {
            file: UploadFile;
        }) => VueNode>;
        default: (opt: {
            file: UploadFile;
        }) => VueNode;
    };
    actionIconRender: {
        type: PropType<(opt: {
            customIcon: VueNode;
            callback: () => void;
            prefixCls: string;
            title?: string | undefined;
        }) => VueNode>;
        default: (opt: {
            customIcon: VueNode;
            callback: () => void;
            prefixCls: string;
            title?: string | undefined;
        }) => VueNode;
    };
    itemRender: {
        type: PropType<ItemRender>;
        default: ItemRender;
    };
    onPreview: {
        type: PropType<(file: UploadFile, e: Event) => void>;
        default: (file: UploadFile, e: Event) => void;
    };
    onClose: {
        type: PropType<(file: UploadFile) => void>;
        default: (file: UploadFile) => void;
    };
    onDownload: {
        type: PropType<(file: UploadFile) => void>;
        default: (file: UploadFile) => void;
    };
    progress: {
        type: PropType<UploadListProgressProps>;
        default: UploadListProgressProps;
    };
}>, () => import("vue/jsx-runtime").JSX.Element, {}, {}, {}, ComponentOptionsMixin, ComponentOptionsMixin, {}, string, PublicProps, Readonly<ExtractPropTypes<{
    prefixCls: StringConstructor;
    locale: {
        type: PropType<UploadLocale>;
        default: UploadLocale;
    };
    file: {
        type: PropType<UploadFile<any>>;
        default: UploadFile<any>;
    };
    items: {
        type: PropType<UploadFile<any>[]>;
        default: UploadFile<any>[];
    };
    listType: {
        type: PropType<UploadListType>;
        default: UploadListType;
    };
    isImgUrl: {
        type: PropType<(file: UploadFile) => boolean>;
        default: (file: UploadFile) => boolean;
    };
    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;
    };
    iconRender: {
        type: PropType<(opt: {
            file: UploadFile;
        }) => VueNode>;
        default: (opt: {
            file: UploadFile;
        }) => VueNode;
    };
    actionIconRender: {
        type: PropType<(opt: {
            customIcon: VueNode;
            callback: () => void;
            prefixCls: string;
            title?: string | undefined;
        }) => VueNode>;
        default: (opt: {
            customIcon: VueNode;
            callback: () => void;
            prefixCls: string;
            title?: string | undefined;
        }) => VueNode;
    };
    itemRender: {
        type: PropType<ItemRender>;
        default: ItemRender;
    };
    onPreview: {
        type: PropType<(file: UploadFile, e: Event) => void>;
        default: (file: UploadFile, e: Event) => void;
    };
    onClose: {
        type: PropType<(file: UploadFile) => void>;
        default: (file: UploadFile) => void;
    };
    onDownload: {
        type: PropType<(file: UploadFile) => void>;
        default: (file: UploadFile) => void;
    };
    progress: {
        type: PropType<UploadListProgressProps>;
        default: UploadListProgressProps;
    };
}>> & Readonly<{}>, {
    progress: UploadListProgressProps;
    locale: UploadLocale;
    onClose: (file: UploadFile) => void;
    items: UploadFile<any>[];
    file: UploadFile<any>;
    itemRender: ItemRender;
    removeIcon: (opt: {
        file: UploadFile;
    }) => VueNode;
    iconRender: (opt: {
        file: UploadFile;
    }) => VueNode;
    listType: UploadListType;
    onPreview: (file: UploadFile, e: Event) => void;
    onDownload: (file: UploadFile) => void;
    downloadIcon: (opt: {
        file: UploadFile;
    }) => VueNode;
    previewIcon: (opt: {
        file: UploadFile;
    }) => VueNode;
    showRemoveIcon: boolean;
    showDownloadIcon: boolean;
    showPreviewIcon: boolean;
    isImgUrl: (file: UploadFile) => boolean;
    actionIconRender: (opt: {
        customIcon: VueNode;
        callback: () => void;
        prefixCls: string;
        title?: string | undefined;
    }) => VueNode;
}, {}, {}, {}, string, ComponentProvideOptions, true, {}, any>;
export default _default;
