import { HTMLAttributes, default as React } from 'react'; export declare enum FileUploadState { Uploading = "uploading", Processing = "processing", Completed = "completed", Error = "error" } export declare enum FileUploadErrorType { Unexpected = "unexpected", Unsupported = "unsupported", Unreadable = "unreadable", InvalidStructure = "invalid-structure", Empty = "empty", TooLarge = "too-large", NoProductsFound = "no-products-found" } export interface FileUploadStatusProps extends HTMLAttributes { /** * ID to find this component in testing tools (e.g.: cypress, testing library, and jest). */ testId?: string; /** * The file being uploaded. */ file: File; /** * Current upload state. * @default 'uploading' */ state?: FileUploadState; /** * Type of error when state is 'error'. */ errorType?: FileUploadErrorType; /** * Custom error message. If provided, overrides the default error message for the errorType. */ errorMessage?: string; /** * Callback when the remove/cancel button is clicked. */ onRemove?: () => void; /** * Callback when the search button is clicked (only shown when state is 'completed'). */ onSearch?: () => void; /** * Callback when download template is clicked (only shown when state is 'error'). */ onDownloadTemplate?: () => void; /** * Callback when select file is clicked (only shown when state is 'error'). */ onSelectFile?: () => void; /** * Aria-label for the remove button (e.g. from CMS). */ removeButtonAriaLabel: string; /** * Label for the search button when state is 'completed' (e.g. from CMS). */ searchButtonLabel: string; /** * Label for the download template button (e.g. from CMS). */ downloadTemplateButtonLabel: string; /** * Label for the select file button (e.g. from CMS). */ selectFileButtonLabel: string; /** * Error messages per error type (e.g. from CMS). Required when state is Error to show messages. */ errorMessages: Partial>; /** * Status text when state is Uploading (e.g. from CMS). */ uploadingStatusText: string; /** * Status text when state is Processing/polling (e.g. from CMS). * @default 'Importing...' */ processingStatusText?: string; /** * Status text when state is Completed (e.g. from CMS). May include file size. */ completedStatusText: string; /** * Custom file name display (optional). */ fileName?: string; } declare const FileUploadStatus: ({ testId, file, state, errorType, errorMessage, onRemove, onSearch, onDownloadTemplate, onSelectFile, removeButtonAriaLabel, searchButtonLabel, downloadTemplateButtonLabel, selectFileButtonLabel, errorMessages, uploadingStatusText, processingStatusText, completedStatusText, fileName, ...otherProps }: FileUploadStatusProps) => React.JSX.Element; export default FileUploadStatus; //# sourceMappingURL=FileUploadStatus.d.ts.map