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