import { type DetailedHTMLProps, type HTMLAttributes, type InputHTMLAttributes } from 'react';
type FileUploadRef = {
    clearFile: () => void;
};
/**
 * FileUpload component for handling file selection and drag-and-drop functionality.
 *
 * @component
 * @example
 * // Example usage of FileUpload component
 * <FileUpload
 *   onFileSelect={(file) => console.log(file)}
 *   icon={<SomeIcon />}
 *   iconFile={<FileIcon />}
 *   accept=".xlsx"
 *   disabled={true}
 *   className="custom-class"
 * />
 *
 * @param {Object} props - The properties of the FileUpload component.
 * @param {function(File | null): void} props.onFileSelect - Callback function to handle file selection.
 * @param {ReactNode} [props.icon] - Optional icon to be displayed when no file is selected.
 * @param {ReactNode} props.iconFile - Icon to be displayed when a file is selected.
 * @param {string} [props.accept] - Optional string to specify the types of files that the input accepts.
 * @param {boolean} [props.disabled] - Optional boolean to specify whether it is enable or not
 * @param {string} [props.errorText] - Optional string to display when is an error
 * @param {HTMLAttributes<HTMLDivElement>} restProps - Additional properties for the div element.
 *
 * @returns {ReactNode} The rendered FileUpload component.
 */
export declare const FileUpload: import("react").ForwardRefExoticComponent<{
    accept: string;
    onFileSelect?: (file: File | null) => void;
    input?: Pick<DetailedHTMLProps<InputHTMLAttributes<HTMLInputElement>, HTMLInputElement>, "name">;
    disabled?: boolean;
    helperText?: string;
    error?: string;
    supportText?: string;
} & HTMLAttributes<HTMLDivElement> & import("react").RefAttributes<FileUploadRef>>;
export {};
//# sourceMappingURL=FileUpload.d.ts.map