import { ReactNode } from 'react'; import { ConfigContextValueOffBoard } from '@befe/brick-core'; import { DialogConfirmProps } from './dialog-confirm'; export interface ConfirmOptions extends DialogConfirmProps { /** * 标题 */ headline: Required; /** * 内容 */ content: Required; /** * configContext 配置 * * 由于 confirm() 是在页面上另行取 root 进行 render 的, * 而 configContext 中除了 `theme`, `i18n` 指向的是模块单例,其他通过 ConfigProvider 配置的值,在不同的 root 间是访问不到的, * 不同 root 间的组件向上访问 context 只能访问到 context 的默认值。 * * 所以用于样式隔离方案 `wrapClassName` 需要另行提供(相应一样的)配置。 * @private */ configContext?: ConfigContextValueOffBoard; } export interface ConfirmObject { destroy: () => void; } export type ConfirmMethod = (headline: ReactNode, content: ReactNode, option?: Partial) => ConfirmObject; /** * @docgen-skip */ export interface ConfirmController { (options: ConfirmOptions): ConfirmObject; info: ConfirmMethod; success: ConfirmMethod; warning: ConfirmMethod; error: ConfirmMethod; } export declare function createTypedConfirm(type: Required, controller?: (options: ConfirmOptions) => ConfirmObject): (p1: ReactNode, p2: ReactNode | ConfirmOptions, p3?: Partial) => ConfirmObject; export declare function createConfirm(configContext?: ConfigContextValueOffBoard, controller?: (options: ConfirmOptions) => ConfirmObject): ConfirmController; export declare const confirm: ConfirmController;