import { PureComponent } from 'react'; import { II18nLocaleUpload } from '../../i18n'; import { IAbstractUploadProps, IUploadFileItem, IUploadOnErrorHandler, IUploadItemProps } from '../types'; declare abstract class AbstractUpload, P extends IAbstractUploadProps, S = unknown> extends PureComponent { abstract get isControlled(): any; abstract getUploadItem(id: string): UPLOAD_ITEM; emitOnError: IUploadOnErrorHandler; emitOnUpload: (file: File, uploadItem: UPLOAD_ITEM) => void; abstract deleteUploadItem: (deleteItem: UPLOAD_ITEM) => void; abstract retryUploadItem: (retryItem: UPLOAD_ITEM) => void; abstract updateUploadItem: (updateItemId: string, overrideProps: Partial) => void; updateUploadItemStatusToSuccess: (updateItemId: string, onUploadSuccessReturn: ON_UPLOAD_SUCCESS_RETURN) => void; updateUploadItemStatusToFailed: (updateItemId: string) => void; updateUploadItemPercent: (updateItemId: string, percent: number) => void; abstract onTriggerUploadFile: (file: File) => Promise; protected getUploadSuccessOverrideProps(onUploadSuccessReturn: ON_UPLOAD_SUCCESS_RETURN): Partial; protected abstract createNewUploadFileItem(file: File): UPLOAD_ITEM | Promise; protected abstract renderTrigger(i18n: II18nLocaleUpload): React.ReactNode; protected abstract renderTips(i18n: II18nLocaleUpload): React.ReactNode; } export default AbstractUpload;