import * as React from 'react';
import { UploadListProps, UploadFile, UploadListType, UploadLocale } from './interface';
import { ConfigConsumerProps } from 'antd/lib/config-provider';
import { previewImage } from './utils';
export default class UploadList extends React.Component<UploadListProps, any> {
    static defaultProps: {
        listType: UploadListType;
        progressAttr: {
            strokeWidth: number;
            showInfo: boolean;
        };
        showRemoveIcon: boolean;
        showDownloadIcon: boolean;
        showPreviewIcon: boolean;
        previewFile: typeof previewImage;
    };
    componentDidUpdate(): void;
    handlePreview: (file: UploadFile, e: React.SyntheticEvent<HTMLElement>) => void;
    handleDownload: (file: UploadFile) => void;
    handleClose: (file: UploadFile) => void;
    handleActionIconRender: (customIcon: React.ReactNode, callback: () => void) => React.ReactElement<any, string | ((props: any) => React.ReactElement<any, string | any | (new (props: any) => React.Component<any, any, any>)> | null) | (new (props: any) => React.Component<any, any, any>)> | null;
    renderDownloadIcon: (file: UploadFile, locale: UploadLocale) => React.ReactElement<any, string | ((props: any) => React.ReactElement<any, string | any | (new (props: any) => React.Component<any, any, any>)> | null) | (new (props: any) => React.Component<any, any, any>)> | null;
    renderRemoveIcon: (file: UploadFile, locale: UploadLocale) => React.ReactElement<any, string | ((props: any) => React.ReactElement<any, string | any | (new (props: any) => React.Component<any, any, any>)> | null) | (new (props: any) => React.Component<any, any, any>)> | null;
    renderUploadList: ({ getPrefixCls }: ConfigConsumerProps) => JSX.Element;
    render(): JSX.Element;
}
