import React, { ReactElement } from "react";
export type FileInputProps = {
    states: {
        waitingFile: {
            /** The reason why this file is being requested */
            title: string | ReactElement;
            /** Shown below the title */
            description?: string;
            /** The label to show on the button */
            button?: string;
        };
        fileProvided: {
            /** Text show when the file has been provided */
            title: string | ReactElement;
            /** Shown below the title */
            description?: string;
            /** Shown on the button to remove the file */
            button?: string;
        };
    };
    footer: string;
    file?: File;
    onFile: (file: File | undefined) => void;
    progress?: number;
    disabled?: boolean;
} & React.HTMLProps<HTMLInputElement>;
/**
 * A component to provide the upload of a file
 **/
declare function FileInput({ onFile, ...props }: FileInputProps): import("react/jsx-runtime").JSX.Element;
/**
 * A simple file uploader that lets users select and upload files from their device.
 */
export default FileInput;
