import { createVNode, SlotsType, type VNodeChild } from 'vue'; /** * 使在 script setup 中也能使用 jsx */ export declare function defineTemplate(callback: (h: typeof createVNode) => VNodeChild): { render(): VNodeChild; }; /** * 限定虚拟 DOM 的更新范围 */ export declare const Scope: import("vue").DefineComponent<{}, () => void, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").PublicProps, Readonly<{}> & Readonly<{}>, {}, SlotsType<{ default: () => void; }>, {}, {}, string, import("vue").ComponentProvideOptions, true, {}, any>; /** * 用于高阶组件的接口暴露 * 合并多个组件的 expose,也可以自定义额外的 expose * 可使用扩展运算符,但非函数值也要通过函数调用获取 */ export declare function createMergedExpose(keys: string[], ...exposeList: ((() => object) | object)[]): T; /** * 如果值为空时展示占位符,否则显示值 */ export declare function addNullablePlaceholder(value: T, converter?: (value: NonNullable) => any): string; /** * 获取 VNode 中的文本 */ export declare function getVNodeText(vnode: unknown): string; /** * 批量绑定事件 * * 用于高级组件中,因声明了事件使 attrs 不包含事件而未能绑定事件的场景。 */ export declare function bulkBindEvents(emits: Record, emit: (...args: any[]) => any): { [k: string]: (...args: any[]) => any; };