import React from 'react';
import type { Form as FormType } from '@formily/core';
import { IFormProps } from '@formily/core';
import type { SchemaReactComponents } from '@formily/react';
import { IMiddleware } from '@formily/shared';
import type { CnRequestConfig } from 'cn-request';
import type { CnDialogProps } from "../../index";
import type { DefineConfig, FormDialogRenderer, requestService } from './types';
export interface IDialogProps extends CnDialogProps {
    onOk?: (event: React.MouseEvent) => void | boolean;
    onCancel?: (event: React.MouseEvent) => void | boolean;
    afterClose?: any;
}
export interface IFormDialog {
    forOpen: (middleware: IMiddleware<IFormProps>) => IFormDialog;
    forConfirm: (middleware: IMiddleware<FormType>) => IFormDialog;
    forCancel: (middleware: IMiddleware<FormType>) => IFormDialog;
    registerComponents: (components: SchemaReactComponents) => IFormDialog;
    open: (props?: IFormProps | FormType) => Promise<any>;
    close: () => void;
}
export declare function cnQuickDialogForm(cnDialogProps: CnDialogProps | React.ReactNode, renderer: FormDialogRenderer, 
/**
 * 点击提交后的请求配置
 */
requestConfig?: (CnRequestConfig & DefineConfig) | requestService): IFormDialog;
