import type { Component } from 'vue';
/**
 * Vue2 Prop 定义（与 Vue 2 Options API 的 props 字段一致）
 */
export type Vue2PropDefinition = Record<string, unknown>;
export interface Vue2WrapperConfig {
    /** 深度变化时卸载并重新 mount 内层 Vue3 app（与历史 AIBluekingV2 行为一致） */
    deepWatchProps?: string[];
    /** Vue3 组件 emit 名称（kebab-case），将桥接为 onXxx 监听 */
    emitNames: string[];
    /** 从 Vue3 子组件实例同步到 Vue2 this 的键（函数会 bind，其余直接赋值如 Ref） */
    exposeKeys: string[];
    /** Vue2 methods（例如 mounted 前的占位实现） */
    methods?: Record<string, (...args: unknown[]) => unknown>;
    name: string;
    /** Vue2 侧 props 定义 */
    props: Vue2PropDefinition;
    /** 需要从 Vue2 $scopedSlots 透传到 Vue3 的插槽名 */
    slots?: string[];
}
/**
 * 创建在 Vue2 环境中用 Vue3 createApp 渲染 Vue3 组件的桥接组件
 */
export declare function createVue2Wrapper(Vue3Component: Component, config: Vue2WrapperConfig): unknown;
/**
 * 将 emit 名转为 Vue3 vnode 上的 onXxx 属性名，例如 send-message -> onSendMessage
 */
export declare function emitNameToListenerProp(emitName: string): string;
//# sourceMappingURL=vue2-wrapper.d.ts.map