import { InputSizeV2 } from '../inputV2.types'; export declare enum UploadState { IDLE = "idle", UPLOADING = "uploading", SUCCESS = "success", ERROR = "error", DISABLED = "disabled" } export declare const UploadErrorReason: { readonly OVERSIZED: "oversized"; readonly MAX_FILES: "maxFiles"; readonly INVALID_TYPE: "invalidType"; }; export type UploadErrorReasonValue = (typeof UploadErrorReason)[keyof typeof UploadErrorReason]; export type UploadFileBase = { id?: string; name: string; size: number; isValid: boolean; errorReason?: UploadErrorReasonValue; }; export type UploadBaseProps = { label?: string; subLabel?: string; description?: string; size?: InputSizeV2; required?: boolean; multiple?: boolean; /** File types to accept (e.g., ['.jpg', '.png', 'image/*', '.pdf']) */ acceptedFileTypes?: string[]; disabled?: boolean; slot?: React.ReactNode; files?: UploadFileBase[]; /** Callback when files are selected or changed */ onChange?: (files: UploadFileBase[]) => void; state?: UploadState; error?: { show: boolean; message?: string; }; errorText?: string; hintText?: string; maxSize?: number; maxFiles?: number; progressBarValue?: number; uploadHeaderText?: string; };