import React from 'react'; import { IFormProps, Form } from '@formily/core'; import { ReactFC } from '@formily/react'; import { IMiddleware } from '@formily/shared'; import { ModalProps } from 'antd'; declare type FormDialogRenderer = React.ReactElement | ((form: Form) => React.ReactElement); declare type ModalTitle = string | number | React.ReactElement; export interface IFormDialog { forOpen(middleware: IMiddleware): IFormDialog; forConfirm(middleware: IMiddleware
): IFormDialog; forCancel(middleware: IMiddleware): IFormDialog; open(props?: IFormProps): Promise; close(): void; } export interface IModalProps extends ModalProps { onOk?: (event: React.MouseEvent) => void | boolean; onCancel?: (event: React.MouseEvent) => void | boolean; loadingText?: React.ReactNode; } export declare function FormDialog(title: IModalProps, id: string, renderer: FormDialogRenderer): IFormDialog; export declare function FormDialog(title: IModalProps, renderer: FormDialogRenderer): IFormDialog; export declare function FormDialog(title: ModalTitle, id: string, renderer: FormDialogRenderer): IFormDialog; export declare function FormDialog(title: ModalTitle, renderer: FormDialogRenderer): IFormDialog; export declare namespace FormDialog { var Footer: ReactFC<{}>; var Portal: (props: React.PropsWithChildren) => JSX.Element; } export default FormDialog;