import React from 'react'; interface FileObject { url: string; size?: number; name: string; } interface FileUploadProps { className?: string; allowedFileTypes?: string; multipleFilesAllowed?: boolean; maxFileSize?: number; hasFileSizeLimit?: boolean; isPreview?: boolean; minFileSize?: number; files?: FileObject[]; onChange?: (files: FileObject[] | []) => void; error?: string; setError?: (error: string) => void; setTouched?: (touched: boolean) => void; } interface FormikFileUploadProps extends FileUploadProps { name: string; } /** * * The FileUpload component provides an interface for uploading files with * * drag-and-drop support, real-time previews, and comprehensive error handling. It * * allows users to configure file types, size limits, and whether multiple files * * can be uploaded simultaneously. * * @example * * import { useState } from "react"; * import { FileUpload } from "@bigbinary/neeto-molecules/FileUpload"; * * const FileUploadComponent = () => { * const [files, setFiles] = useState([]); * const [error, setError] = useState(""); * * const handleFileChange = updatedFiles => { * // Perform any custom logic here * setFiles(updatedFiles); * }; * * return ( * * ); * }; * * export default FileUploadComponent; * @endexample * The FileUpload component wrapped in Formik. * * @example * * import { FormikFileUpload } from "@bigbinary/neeto-molecules/FileUpload"; * import { Form } from "@bigbinary/neetoui/formik"; * * const App = () => ( * return ( *
* * * ); * ); * @endexample */ declare const FileUpload: React.FC; declare const FormikFileUpload: React.FC; export { FileUpload, FormikFileUpload }; export type { FileUploadProps, FormikFileUploadProps };