import React, { DragEvent } from 'react';
export interface FileUploadProps extends Omit<React.InputHTMLAttributes<HTMLInputElement>, 'type' | 'size'> {
    name: string;
    label?: React.ReactNode;
    helperText?: string;
    error?: string;
    isRequired?: boolean;
    isDisabled?: boolean;
    isReadOnly?: boolean;
    isInvalid?: boolean;
    size?: 'sm' | 'md' | 'lg';
    accept?: string;
    multiple?: boolean;
    maxSize?: number;
    maxFiles?: number;
    showPreview?: boolean;
    showFileList?: boolean;
    showDropZone?: boolean;
    dropZoneText?: string;
    dropZoneIcon?: React.ReactNode;
    browseButtonText?: string;
    removeButtonText?: string;
    previewButtonText?: string;
    className?: string;
    wrapperClassName?: string;
    labelClassName?: string;
    inputClassName?: string;
    errorClassName?: string;
    helperTextClassName?: string;
    dropZoneClassName?: string;
    fileListClassName?: string;
    fileItemClassName?: string;
    previewClassName?: string;
    validateOnChange?: boolean;
    validateOnBlur?: boolean;
    onFileSelect?: (files: File[]) => void;
    onFileRemove?: (file: File) => void;
    onFilePreview?: (file: File) => void;
    onDrop?: (files: File[]) => void;
    onDragEnter?: (event: DragEvent<HTMLDivElement>) => void;
    onDragLeave?: (event: DragEvent<HTMLDivElement>) => void;
    onDragOver?: (event: DragEvent<HTMLDivElement>) => void;
}
declare const _default: React.MemoExoticComponent<React.ForwardRefExoticComponent<FileUploadProps & React.RefAttributes<HTMLInputElement>>>;
export default _default;
//# sourceMappingURL=FileUpload.d.ts.map