import React from 'react'; import PropTypes from 'prop-types'; import Base from './base'; import type { ObjectFile, UploadError, UploadFile, UploadProgressEvent, UploadProps, UploadResponse, UploadState } from './types'; declare class Upload extends Base { static displayName: string; static propTypes: { prefix: PropTypes.Validator; action: PropTypes.Requireable; value: PropTypes.Requireable; defaultValue: PropTypes.Requireable; shape: PropTypes.Requireable; listType: PropTypes.Requireable; list: PropTypes.Requireable; name: PropTypes.Requireable; data: PropTypes.Requireable; formatter: PropTypes.Requireable<(...args: any[]) => any>; limit: PropTypes.Requireable; timeout: PropTypes.Requireable; dragable: PropTypes.Requireable; closable: PropTypes.Requireable; useDataURL: PropTypes.Requireable; disabled: PropTypes.Requireable; onSelect: PropTypes.Requireable<(...args: any[]) => any>; onProgress: PropTypes.Requireable<(...args: any[]) => any>; onChange: PropTypes.Requireable<(...args: any[]) => any>; onSuccess: PropTypes.Requireable<(...args: any[]) => any>; afterSelect: PropTypes.Requireable<(...args: any[]) => any>; onRemove: PropTypes.Requireable<(...args: any[]) => any>; onError: PropTypes.Requireable<(...args: any[]) => any>; beforeUpload: PropTypes.Requireable<(...args: any[]) => any>; onDrop: PropTypes.Requireable<(...args: any[]) => any>; className: PropTypes.Requireable; style: PropTypes.Requireable; children: PropTypes.Requireable; autoUpload: PropTypes.Requireable; request: PropTypes.Requireable<(...args: any[]) => any>; progressProps: PropTypes.Requireable; rtl: PropTypes.Requireable; isPreview: PropTypes.Requireable; renderPreview: PropTypes.Requireable<(...args: any[]) => any>; fileKeyName: PropTypes.Requireable; fileNameRender: PropTypes.Requireable<(...args: any[]) => any>; actionRender: PropTypes.Requireable<(...args: any[]) => any>; previewOnFileName: PropTypes.Requireable; reUpload?: React.Validator | undefined; onCancel?: React.Validator<((file?: ObjectFile | undefined) => void) | null | undefined> | undefined; onImageError?: React.Validator<((obj: object, file: UploadFile) => void) | null | undefined> | undefined; onPreview?: React.Validator<((file: UploadFile, e?: React.MouseEvent | undefined) => void) | null | undefined> | undefined; extraRender?: React.Validator<((file: ObjectFile) => void) | null | undefined> | undefined; itemRender?: React.Validator<((file: ObjectFile, action?: { remove: () => void; } | undefined) => void) | null | undefined> | undefined; showDownload?: React.Validator | undefined; uploader?: React.Validator<{ removeFile: (file: ObjectFile) => void; abort: (file: ObjectFile) => void; replaceWithNewFile: (oldfile: UploadFile, newfile: UploadFile) => void; props: { accept?: string | undefined; fileKeyName?: string | undefined; }; } | null | undefined> | undefined; locale?: React.Validator<(Partial<{ card: { cancel: string; addPhoto: string; download: string; delete: string; }; drag: { text: string; hint: string; }; upload: { delete: string; }; image: { cancel: string; addPhoto: string; download: string; delete: string; }; }> & { momentLocale?: string | undefined; } & import("../locale/types").ComponentLocaleObject) | null | undefined> | undefined; id: React.Validator; pure?: React.Validator | undefined; device?: React.Validator | undefined; errorBoundary?: React.Validator | undefined; warning?: React.Validator | undefined; accept: PropTypes.Requireable; headers: PropTypes.Requireable; withCredentials: PropTypes.Requireable; method: PropTypes.Requireable; multiple: PropTypes.Requireable; webkitdirectory: PropTypes.Requireable; capture: PropTypes.Requireable; onDragOver: PropTypes.Requireable<(...args: any[]) => any>; onDragLeave: PropTypes.Requireable<(...args: any[]) => any>; }; static defaultProps: { prefix: string; limit: number; autoUpload: boolean; closable: boolean; onSelect: () => void; onProgress: () => void; onChange: () => void; onSuccess: () => void; onRemove: () => void; onError: () => void; onDrop: () => void; beforeUpload: () => void; afterSelect: () => void; previewOnFileName: boolean; name: string; multiple: boolean; withCredentials: boolean; onDragOver: () => void; onDragLeave: () => void; onAbort: () => void; method: string; }; constructor(props: UploadProps); static getDerivedStateFromProps(nextProps: UploadProps, prevState: UploadState): { value: ObjectFile[]; } | null; onSelect: (files: Array) => void; onDrop: (files: UploadFile[]) => void; /** * 对外暴露 API, 添加文件 */ selectFiles(files: File[]): void; uploadFiles(files: ObjectFile[]): void; /** * 对外暴露 api,控制文件上传 */ startUpload(): void; replaceFiles(old: ObjectFile, current: UploadFile): void; replaceWithNewFile: (old: ObjectFile, current: UploadFile) => ObjectFile; isUploading(): boolean; onProgress: (e: UploadProgressEvent, file: UploadFile) => void; onSuccess: (response: UploadResponse, file: UploadFile) => void; onError: (err: UploadError, response: UploadResponse | null, file?: ObjectFile) => void; /** * 删除文件 */ removeFile: (file: UploadFile) => void; updateUploadingState: () => void; /** * 取消上传 */ abort: (file: File) => void; onChange: (value: Array, file: ObjectFile | Array) => void; render(): React.JSX.Element | null; } declare const _default: typeof Upload; export default _default;