/// <reference types="react" />
export interface FileUploadProps {
    /**
     *  Text inside FileUpload input area, this does not change due to the behavior of the component.
     */
    placeholder?: string;
    /**
     * String to make the component unique.
     */
    id?: string;
    /**
     * Name given to the FileUpload component.
     */
    name?: string;
    /**
     * File extensions (.txt, .png, etc) that the browser suggest the user for selecting from user local storage.
     */
    filesExtensions?: string;
    /**
     * Text to be display above the FileUpload component
     */
    label?: string;
    /**
     * Text to be display below the FileUpload component to give more info such as: the files that can be uploaded
     */
    helpText?: string;
    /**
     * As as controlled component this prop receives the files that were selected to be uploaded and to be display as pills below FileUpload component.
     */
    value: any | null;
    /**
     * is true, more than one files can be selected (* not working yet)
     */
    isMultiple?: boolean;
    /**
     * If true, the component is disabled and the window to select files from user PC is not opened
     */
    isDisabled?: boolean;
    /**
     * Maximum size in Mb that a file can have to be selected from user PC
     */
    maxSize?: number;
    /**
     * The message that is displayed when user selects a files that has a file size grater than maxSize prop.
     */
    maxSizeMessage?: string;
    /**
     * Extra style to add by props.
     */
    style?: React.CSSProperties;
    /**
     *
     */
    onReadFile?: (file: {}) => void;
    /**
     * Action taken when a files is selected from user local storage
     */
    onChange?: (file: any) => void;
    /**
     * State from the redux store (commomRedux) containing the last file uploaded
     */
    uploadedAttachment: any;
    /**
     * State from the redux store (commomRedux) that signals if a files is being uploaded
     */
    loadingUploadFile: boolean;
    /**
     * Redux action that runs when a filed is being uploaded
     */
    uploadAttachment: (file: any) => void;
    className?: string;
}
