import { Component } from 'vue'; import { Mounts } from './useMountComponent'; export type MutateMountComponentOptions = { /** 挂载节点 默认document.body */ rootElement?: HTMLElement; /** 组件控制 visible prop 的自定义属性名称 */ visiblePropName?: string; /** 组件控制 close 事件 的自定义名称 */ closeEmitName?: string; /** 组件控制 closed 事件 的自定义名称 */ closedEmitName?: string; /** * 是否保活。关闭时卸载组件: 默认 false */ keepAlive?: boolean; /** * 设置 keepAlive = true 时需要通过次项做唯一性判断(默认取 Component name) */ keepAliveId?: string | number; }; /** * 手动挂载组件,组要场景是弹框; 自定义组件需要实现 visible 的 prop 与 close, closed 事件 (代理的属性事件名称可以修改) * @param CustomComponents {props: {visible: boolean}, emits: {close: () => void, closed: () => void}} 自定义组件 * @param props {any} 组件的props * @param emits {any} 组件的事件 * @param options {{ visiblePropName?: string, closeEmitName?: string, closedEmitName?: string }} 配置代理属性事件名称默认的 visiblePropName=visible,closeEmitName=close, closedEmitName=closed */ export declare const mutateMountComponent: (CustomComponents: Component, props?: any, emits?: any, options?: MutateMountComponentOptions) => Mounts;