import React from 'react';
import { UploadOptions } from './upload';
import { BasicComponent } from '../../utils/typings';
import { FileItem } from './file-item';
export interface UploaderProps extends BasicComponent {
    url: string;
    maxCount: string | number;
    maxFileSize: number;
    defaultValue?: FileItem[];
    value?: FileItem[];
    previewType: 'picture' | 'list';
    fit: 'contain' | 'cover' | 'fill' | 'none' | 'scale-down';
    uploadIcon?: React.ReactNode;
    uploadLabel?: React.ReactNode;
    name: string;
    accept: string;
    disabled: boolean;
    autoUpload: boolean;
    multiple: boolean;
    timeout: number;
    data: any;
    method: string;
    xhrState: number | string;
    headers: any;
    withCredentials: boolean;
    clearInput: boolean;
    preview: boolean;
    deletable: boolean;
    capture: boolean | 'user' | 'environment';
    className: string;
    previewUrl?: string;
    style: React.CSSProperties;
    onStart?: (option: UploadOptions) => void;
    onDelete?: (file: FileItem, files: FileItem[]) => void;
    onSuccess?: (param: {
        responseText: XMLHttpRequest['responseText'];
        option: UploadOptions;
        files: FileItem[];
    }) => void;
    onProgress?: (param: {
        e: ProgressEvent<XMLHttpRequestEventTarget>;
        option: UploadOptions;
        percentage: string | number;
    }) => void;
    onFailure?: (param: {
        responseText: XMLHttpRequest['responseText'];
        option: UploadOptions;
        files: FileItem[];
    }) => void;
    onUpdate?: (files: FileItem[]) => void;
    onOversize?: (files: File[]) => void;
    onChange?: (files: FileItem[]) => void;
    beforeUpload?: (files: File[]) => Promise<File[] | boolean>;
    beforeXhrUpload?: (xhr: XMLHttpRequest, options: any) => void;
    beforeDelete?: (file: FileItem, files: FileItem[]) => boolean;
    onFileItemClick?: (file: FileItem, index: number) => void;
}
export declare const Uploader: React.ForwardRefExoticComponent<Partial<UploaderProps> & {
    children?: React.ReactNode | undefined;
} & React.RefAttributes<unknown>>;
