import { FC } from 'react';
import { WidgetProps } from '@rjsf/utils';

/**
 * File Upload Widget with support for both native input and Ant Design Upload
 *
 * @description
 * This widget provides two modes for file upload:
 * 1. Native HTML input[type="file"] (default)
 * 2. Ant Design Upload component (when ui:options.useAntUpload is true)
 *
 * Both modes convert files to base64 data URLs for storage in form data.
 *
 * @example
 * // In uiSchema for native input
 * {
 *   myFileField: {
 *     'ui:widget': 'fileUpload',
 *     'ui:options': {
 *       accept: 'image/*'
 *     }
 *   }
 * }
 *
 * @example
 * // In uiSchema for Ant Design Upload
 * {
 *   myFileField: {
 *     'ui:widget': 'fileUpload',
 *     'ui:options': {
 *       useAntUpload: true,
 *       accept: '.pdf,.doc,.docx',
 *       maxSize: 5 // in MB
 *     }
 *   }
 * }
 */
declare const FileUploadWidget: FC<WidgetProps>;
export default FileUploadWidget;
export { FileUploadWidget };
