import { ReactElement } from 'react';

export type FileExportProps = {
	/** 触发节点 */
	action: (ReactElement & {
		onClick?: (e: any) => void;
	}) | ((data: {
		onClick: (e: any) => void;
	}) => ReactElement);
	/**
	 * 获取文件流数据
	 * ```
	 * 1. fileName 文件名称
	 * 2. data 文件流
	 * ```
	 */
	onRequest: () => Promise<{
		fileName: string;
		data: Blob;
	}>;
	/** 导出操作前 */
	onExportPre?: () => void;
	/** 导出操作后 */
	onExportNext?: () => void;
	/** 导出操作失败，隐藏默认失败效果 */
	onExportError?: (error?: any) => void;
};
/**
 * 文件导出
 * ```
 * demo：https://fex.qa.tcshuke.com/docs/admin/main/widget?key=file-export
 * 例如：
   <FileExport
	 action={<Button>下载</Button>}
	 onRequest={() => {
	   return serviceHandle.fileExport('/export/file', {});
	 }}
	 onExportNext={() => {
	   message.success('导出成功...');
	 }}
   />
 * ```
 */
export declare const FileExport: (props: FileExportProps) => import("react").JSX.Element;

export {};
