import type { BackupTypeName } from "../../lib/types.js";
export interface FileValidationResult {
    isValid: boolean;
    fileType: "encrypted" | "unencrypted" | "unknown";
    format: "json" | "text" | "binary" | "unknown";
    error?: string;
    data?: Record<string, unknown> | string;
}
export interface FileImportProps {
    onFileSelect?: (file: File) => void;
    onFileValidated?: (file: File, result: FileValidationResult) => void;
    onError?: (error: string) => void;
    accept?: string;
    disabled?: boolean;
    loading?: boolean;
    maxSize?: number;
    validateFile?: (content: string, file: File) => Promise<FileValidationResult> | FileValidationResult;
    className?: string;
    allowedBackupTypes?: BackupTypeName[];
    unsupportedBackupMessage?: string;
}
export declare function FileImport({ onFileSelect, onFileValidated, onError, accept, disabled, loading, maxSize, validateFile, className, allowedBackupTypes, unsupportedBackupMessage, }: FileImportProps): import("react/jsx-runtime").JSX.Element;
//# sourceMappingURL=FileImport.d.ts.map