import type { UploadFile, UploadProps } from 'antd'; import React from 'react'; import type { FileCardProps } from '../file-card'; import { SemanticType as FileCardSemanticType } from '../file-card/FileCard'; import { SemanticType as FileCardListSemanticType } from '../file-card/List'; import { type FileListProps } from './FileList'; import { type PlaceholderType } from './PlaceholderUploader'; export type SemanticType = 'list' | 'placeholder' | 'upload'; export interface Attachment extends UploadFile, Omit { description?: React.ReactNode; cardType?: FileCardProps['type']; } export interface AttachmentsProps extends Omit { prefixCls?: string; rootClassName?: string; style?: React.CSSProperties; className?: string; classNames?: Partial>; styles?: Partial>; children?: React.ReactElement; disabled?: boolean; placeholder?: PlaceholderType | ((type: 'inline' | 'drop') => PlaceholderType); getDropContainer?: null | (() => HTMLElement | null | undefined); items?: Attachment[]; overflow?: FileListProps['overflow']; } export interface AttachmentsRef { nativeElement?: HTMLDivElement | null; fileNativeElement?: HTMLInputElement | null; upload: (file: File) => void; select: (options?: { accept?: string; multiple?: boolean; }) => void; } declare const Attachments: React.ForwardRefExoticComponent & React.RefAttributes>; export default Attachments;