import React, { ReactNode, MouseEvent, CSSProperties } from 'react'; import PropTypes from 'prop-types'; import { FileCardAdapter } from '@douyinfe/semi-foundation/lib/es/upload/fileCardFoundation'; import { Locale } from '../locale/interface'; import BaseComponent from '../_base/baseComponent'; import { RenderFileItemProps } from './interface'; import { ShowTooltip } from '../typography'; export interface FileCardProps extends RenderFileItemProps { className?: string; style?: CSSProperties; picWidth?: string | number; picHeight?: string | number; showTooltip?: boolean | ShowTooltip; } export interface FileCardState { fallbackPreview?: boolean; } declare class FileCard extends BaseComponent { static propTypes: { className: PropTypes.Requireable; disabled: PropTypes.Requireable; listType: PropTypes.Requireable; name: PropTypes.Requireable; onPreviewClick: PropTypes.Requireable<(...args: any[]) => any>; onRemove: PropTypes.Requireable<(...args: any[]) => any>; onReplace: PropTypes.Requireable<(...args: any[]) => any>; onRetry: PropTypes.Requireable<(...args: any[]) => any>; percent: PropTypes.Requireable; preview: PropTypes.Requireable; previewFile: PropTypes.Requireable<(...args: any[]) => any>; picWidth: PropTypes.Requireable>; picHeight: PropTypes.Requireable>; showReplace: PropTypes.Requireable; showRetry: PropTypes.Requireable; size: PropTypes.Requireable>; status: PropTypes.Requireable; style: PropTypes.Requireable; url: PropTypes.Requireable; validateMessage: PropTypes.Requireable; index: PropTypes.Requireable; showTooltip: PropTypes.Requireable>; }; static defaultProps: { listType: "list"; name: string; onRemove: () => void; onRetry: () => void; preview: boolean; size: string; showTooltip: boolean; }; constructor(props: FileCardProps); get adapter(): FileCardAdapter; transSize(size: string | number): string; renderValidateMessage(): ReactNode; renderPicValidateMsg(): ReactNode; renderPic(locale: Locale['Upload']): ReactNode; renderFile(locale: Locale["Upload"]): React.JSX.Element; onRemove(e: MouseEvent): void; onReplace(e: MouseEvent): void; onRetry(e: MouseEvent): void; render(): React.JSX.Element; } export default FileCard;