/**
 * Modern File Uploader Component
 * Production-ready React component for Health Ecosystem file uploads
 * Version 2.0 - Modern UI with manual upload control
 */
import React from 'react';
import { FileUploadConfig, UploadOptions, UploadResult, UploadError } from '../types';
interface FileUploaderProps {
    /** File upload configuration */
    config: FileUploadConfig;
    /** Upload options */
    options: UploadOptions;
    /** Multiple file selection */
    multiple?: boolean;
    /** Accept file types */
    accept?: string;
    /** Enable drag and drop */
    enableDropzone?: boolean;
    /** Auto upload files when selected */
    autoUpload?: boolean;
    /** Show file previews */
    showPreview?: boolean;
    /** Custom styling */
    className?: string;
    /** Custom styles */
    style?: React.CSSProperties;
    /** Upload success callback */
    onSuccess?: (result: UploadResult | UploadResult[]) => void;
    /** Upload error callback */
    onError?: (error: UploadError) => void;
    /** Upload progress callback */
    onProgress?: (progress: number) => void;
    /** File selection callback */
    onFilesSelected?: (files: File[]) => void;
    /** Children render function */
    children?: (props: FileUploaderRenderProps) => React.ReactNode;
}
interface FileUploaderRenderProps {
    /** Whether upload is in progress */
    isUploading: boolean;
    /** Upload progress (0-100) */
    progress: number;
    /** Upload result */
    result?: UploadResult;
    /** Upload error */
    error?: UploadError;
    /** Whether drag is active (if dropzone enabled) */
    isDragActive?: boolean;
    /** Selected files */
    selectedFiles: File[];
    /** Open file picker */
    openFilePicker: () => void;
    /** Upload files manually */
    upload: (files?: File[]) => Promise<UploadResult | UploadResult[]>;
    /** Cancel upload */
    cancel: () => void;
    /** Reset state */
    reset: () => void;
    /** Clear selected files */
    clearFiles: () => void;
    /** Remove specific file */
    removeFile: (index: number) => void;
}
export declare const FileUploader: React.FC<FileUploaderProps>;
export default FileUploader;
//# sourceMappingURL=FileUploader.d.ts.map