import { Component, VNode, ComponentInternalInstance } from 'vue'; export type PublicChildT = { uid: number; getVNode: () => VNode; } & T; /** * 按模板顺序维护指定类型后代组件的排序 * * @description * 在 Vue 中,当使用 Teleport 或动态注册组件时,子组件的渲染顺序可能与模板书写顺序不一致。 * 该 Hook 通过监听 DOM 节点变化,确保子组件始终按模板中的书写顺序排列。 * * @param vm - 父组件实例 * @param childType - 需要排序的后代组件类型 * * @note * - 排序操作会在下一帧执行 * - SSR 环境下无法工作(依赖响应式变量触发重渲染) * - 适用于需要严格保持子组件顺序的场景 */ export declare const useSortedTeleportChildren: (vm: ComponentInternalInstance, childType: Component | string) => { children: import('vue').ShallowRef; childMap: Record; addChild: (child: T) => void; OTeleportWrapper: import('vue').DefineComponent<{}, () => VNode[] | undefined, {}, {}, {}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, {}, string, import('vue').PublicProps, Readonly<{}> & Readonly<{}>, {}, {}, {}, {}, string, import('vue').ComponentProvideOptions, true, {}, any>; };