import { AppContext, VNode } from 'vue';
export interface extraVNode extends VNode {
    close: () => void;
}
/**
 * 关闭组件
 * @param {HTMLElement} element - 要关闭的组件元素
 */
export declare const closeComponent: (element: HTMLElement) => void;
/**
 * 打开组件
 * @param {Object} options - 打开组件的选项
 * @param {Function|Component} options.component - 要打开的组件，可以是函数式加载的组件
 * @param {Object} [options.props] - 组件的属性
 * @param {HTMLElement} [options.element] - 组件要挂载到的元素，如果没有传入则创建一个新的div
 * @param {Object} [options.appContext] - 组件的应用上下文
 * @returns {VNode} - 返回组件的虚拟节点
 */
export declare const openComponent: ({ component, props, element, appContext, }: {
    component: any;
    props?: Record<string, any>;
    element?: HTMLElement;
    appContext?: AppContext;
}) => Promise<extraVNode | undefined>;
