import type { UploadChangeParam } from 'antd/lib/upload/interface'; import React from 'react'; import { type AttachmentEnv } from './env'; /** 附件组件的公共属性。 */ export interface AttachmentListProps { /** 宿主环境(传输层、地址前缀、接口路径) */ env: AttachmentEnv; /** 当前用户名,写入每个文件的上传者列 */ currentUserName?: string; /** 列表使用的表格组件,默认 `AgGridPlus`;宿主可注入自己封装过的表格基座 */ gridComponent?: React.ComponentType; value?: any[]; defaultValue?: any[]; onChange?: (value: any[]) => void; disabled?: boolean; /** 移除一项后的回调,参数是移除后的列表 */ removeCallBack?: (list: any[]) => void; /** 上传或移除后的回调,参数是最新列表 */ changeCallBack?: (list: any[]) => void; /** 不允许删除(只能下载) */ notDelete?: boolean; /** 隐藏上传进度列 */ hidePercent?: boolean; /** 隐藏操作列 */ hideDownBtn?: boolean; [key: string]: any; } /** 取 `YYYY-MM-DD`:无时区的字符串按本地日期取,带时区或时间戳按本地时间换算。 */ export declare const formatAttachmentDate: (value: unknown) => string; /** 当前时间 `YYYY-MM-DD HH:mm`。 */ export declare const nowText: () => string; export declare const useAttachmentFiles: (props: AttachmentListProps) => { state: any; onFileChange: (info: UploadChangeParam) => void; chongfuVerify: (file: any) => string | true; columnDefs: ({ field: string; headerName: string; flex: number; cellRenderer: ({ value, data }: any) => React.JSX.Element; width?: undefined; hideInSearch?: undefined; hide?: undefined; hideInTable?: undefined; } | { field: string; headerName: string; width: number; hideInSearch: boolean; flex?: undefined; cellRenderer?: undefined; hide?: undefined; hideInTable?: undefined; } | { field: string; headerName: string; width: number; hideInSearch: boolean; cellRenderer: (params: any) => React.JSX.Element; flex?: undefined; hide?: undefined; hideInTable?: undefined; } | { field: string; headerName: string; width: number; hideInSearch: boolean; hide: boolean; flex?: undefined; cellRenderer?: undefined; hideInTable?: undefined; } | { field: string; headerName: string; width: number; hideInTable: boolean | undefined; hideInSearch: boolean; cellRenderer: ({ value, data }: any) => React.JSX.Element; flex?: undefined; hide?: undefined; } | { field: string; headerName: string; width: number; hideInTable: boolean | undefined; cellRenderer: (row: any) => React.JSX.Element; flex?: undefined; hideInSearch?: undefined; hide?: undefined; })[]; };