import { ErrorCode } from 'react-dropzone';
/**
 * Stable error code for a rejected file. Mirrors react-dropzone's built-in
 * validation codes, with a `string` fallback for custom validator codes.
 *
 * Known values: `file-too-large` | `file-invalid-type` | `file-too-small` | `too-many-files`.
 */
export type FileUploadErrorCode = `${ErrorCode}` | (string & {});
/**
 * Error surfaced via the FileUpload `onError` callback when a file is rejected
 * during validation.
 */
export type FileUploadError = {
    /**
     * The file that was rejected.
     */
    file: File;
    /**
     * Stable react-dropzone error code consumers can branch on.
     */
    code: FileUploadErrorCode;
    /**
     * Human-readable, user-facing error message — the same message shown in the
     * component's own file list.
     */
    message: string;
};
