import * as React from 'react'; import { II18nLocaleUpload } from '../../i18n'; import { IAbstractMultiUploadProps, IUploadChangeDetail, IUploadFileItem, IUploadItemProps } from '../types'; import AbstractUpload from './AbstractUpload'; export interface IAbstractMultiUploadState { fileList: Array; } declare abstract class AbstractMultiUpload, P extends IAbstractMultiUploadProps> extends AbstractUpload> { constructor(props: P); static getDerivedStateFromProps(nextProps: IAbstractMultiUploadProps>): { fileList: IUploadFileItem[]; }; get isControlled(): boolean; get fileList(): UPLOAD_ITEM[]; get remainAmount(): number; getUploadItem(id: string): UPLOAD_ITEM | null; updateFileList: (list: UPLOAD_ITEM[], detail?: IUploadChangeDetail, cb?: () => void) => void; deleteUploadItem: (deleteItem: UPLOAD_ITEM) => void; retryUploadItem: (retryItem: UPLOAD_ITEM) => void; updateUploadItem: (updateItemId: string, overrideProps: Partial) => void; onTriggerUploadFile: (file: File) => Promise; protected abstract createNewUploadFileItem(file: File): UPLOAD_ITEM | Promise; protected abstract renderUploadList(i18n: II18nLocaleUpload): React.ReactNode; } export default AbstractMultiUpload;