import { Component, Plugin } from 'vue';
/** @hb-doc 为 Vue 组件补充 install 方法，支持 app.use 注册。
 *
 * 包装后的组件：保留原组件（多为 `DefineComponent`）的 props / emits / slots 等类型，并附带 Vue `Plugin.install`。
 * 在模板或 `h()` 中使用时，IDE 会展示与原始 SFC 一致的类型提示。
 */
export type WithInstall<T> = T & Plugin;
/**
 * 为组件挂载 `install` 方法以支持 `app.use()`，并完整保留组件类型（解决 `any` 丢失问题）。
 *
 * 使用 `Component` 作为约束（而非无泛参的 `DefineComponent`），否则与带具体 props / 字面量 emits 的 SFC 类型不兼容。
 *
 * @param component - 一般为 `.vue` 默认导出，需具备 `name`（建议 `defineOptions({ name })`）以便全局注册。
 */
export declare function withInstall<T extends Component>(component: T): WithInstall<T>;
//# sourceMappingURL=withInstall.d.ts.map