import * as React from 'react'; import { FormInstance } from 'antd/es/form'; import { Rule } from 'rc-field-form/es/interface'; export interface XuiModalFileHandles { show: () => void; destory: () => void; /** 改变下一步按钮的loading值 */ changeNextStepLoading: (value) => void; form: FormInstance; } export interface XuiModalFileProps { /** 弹窗风格 */ modalStyle?: 'admin' | 'pc'; ref?: React.RefObject; /** 弹窗标题 */ title: string | JSX.Element; /** 前置步骤条内容 */ stepNodes?: { /** 步骤条title */ title: string; /** 表单默认值 */ defaultValues?: any; /** 组装表单的配置, 参考antd form */ formInfo: { label: string; name: string; children: JSX.Element; rules?: Rule[]; extra?: string | JSX.Element; }[]; onNextStep?: (values: { [key: string]: any }) => Promise; }[]; /** 是否隐藏下载导入模板 */ hideDownloadTemplate?: boolean; /** 上传文件步骤条titles 默认值['选择文件','导入数据'] */ fileStepTitles?: string[]; /** 下载模板 提示文字, modalStyle = pc 下有效 */ loadTip?: string; /** 上传文件最大限制kb,例如限制1M,1 * 1024 * 1024 */ maxSize?: number; /** 上传文件超出最大限制提示 */ maxSizeTip?: string; /** 选择文件 左下角提示 */ tip?: string; /** 下载导入模板地址 */ downloadHref: string; /** 选择文件后上传文件的地址 */ uploadURL: string; /** 上传文件额外参数及配置 */ uploadExtraConf?: { /** 额外参数 */ data?: { [key: string]: any }; /** 额外配置 */ [key: string]: any; }; /** 允许的上传文件类型, 默认excel */ typeIntercept?: { accept: MimeType[]; acceptName: string[]; }; /** 是否为真实进度条 */ isTureProgress?: boolean; /** 是否覆盖已上传文件 */ isCover?: boolean; success?: (data: any) => void; fail?: (data: any) => void; afterClose?: () => void; } declare const XuiModalFile: React.ComponentType; export default XuiModalFile;