import React from 'react'; import { IFormProps, Form } from '@formily/core'; import { ReactFC } from '@formily/react'; import { IMiddleware } from '@formily/shared'; import { DrawerProps } from 'antd'; declare type FormDrawerRenderer = React.ReactElement | ((form: Form) => React.ReactElement); declare type DrawerTitle = string | number | React.ReactElement; declare type EventType = React.KeyboardEvent | React.MouseEvent; export interface IFormDrawer { forOpen(middleware: IMiddleware): IFormDrawer; open(props?: IFormProps): Promise; close(): void; } export interface IDrawerProps extends DrawerProps { onClose?: (e: EventType) => void | boolean; loadingText?: React.ReactNode; } export declare function FormDrawer(title: IDrawerProps, id: string, renderer: FormDrawerRenderer): IFormDrawer; export declare function FormDrawer(title: IDrawerProps, id: FormDrawerRenderer): IFormDrawer; export declare function FormDrawer(title: DrawerTitle, id: string, renderer: FormDrawerRenderer): IFormDrawer; export declare function FormDrawer(title: DrawerTitle, id: FormDrawerRenderer): IFormDrawer; export declare namespace FormDrawer { var Extra: ReactFC<{}>; var Footer: ReactFC<{}>; var Portal: (props: React.PropsWithChildren) => JSX.Element; } export default FormDrawer;