import React from 'react';
export type FileUploadStatus = 'idle' | 'uploading' | 'analyzing' | 'success' | 'error';
export interface FileUpload {
    id: string;
    file: File;
    progress: number;
    status: FileUploadStatus;
    rowCount?: number;
    successMessage?: string;
    successDescription?: string;
    errorTitle?: string;
    errorDescription?: string;
    errorList?: string[];
}
export interface AnalysisResult {
    success: boolean;
    rowCount?: number;
    successMessage?: string;
    successDescription?: string;
    errorTitle?: string;
    errorDescription?: string;
    errorList?: string[];
}
export interface UploadFileModalProps extends Omit<React.InputHTMLAttributes<HTMLInputElement>, 'size' | 'onChange'> {
    label?: string;
    error?: string;
    withAsterisk?: boolean;
    grow?: boolean;
    acceptedFormats?: string[];
    maxSize?: number;
    files?: FileUpload[];
    onChange?: (files: FileUpload[]) => void;
    onRemoveFile?: (fileId: string) => void;
    onFileAnalyze?: (file: File) => Promise<AnalysisResult>;
    multiple?: boolean;
    dropZoneTitle?: string;
    dropZoneClickText?: string;
    errorDropZoneTitle?: string;
    errorSubtitle?: string;
    hideDropZoneWhenHasFile?: boolean;
}
export declare const UploadFileModal: React.FC<UploadFileModalProps>;
