1 | import { Component, ConcreteComponent, transformVNodeArgs } from 'vue';
|
2 | type VNodeArgsTransformerFn = NonNullable<Parameters<typeof transformVNodeArgs>[0]>;
|
3 | type TransformVNodeArgs = Parameters<VNodeArgsTransformerFn>;
|
4 | type VNodeTransformerArgsType = TransformVNodeArgs[0];
|
5 | type InstanceArgsType = TransformVNodeArgs[1];
|
6 | type VNodeTransformerInputType = VNodeTransformerArgsType[0];
|
7 | type ExtractComponentTypes<T> = T extends ConcreteComponent ? T : never;
|
8 | type VNodeTransformerInputComponentType = ExtractComponentTypes<VNodeTransformerInputType>;
|
9 | export type VTUVNodeTypeTransformer = (inputType: VNodeTransformerInputComponentType, instance: InstanceArgsType) => VNodeTransformerInputComponentType;
|
10 | export declare const isTeleport: (type: any) => boolean;
|
11 | export declare const isKeepAlive: (type: any) => boolean;
|
12 | export interface RootComponents {
|
13 | component?: Component;
|
14 | functional?: Component;
|
15 | }
|
16 | export declare const isRootComponent: (rootComponents: RootComponents, type: VNodeTransformerInputComponentType, instance: InstanceArgsType) => boolean;
|
17 | export declare const createVNodeTransformer: ({ rootComponents, transformers }: {
|
18 | rootComponents: RootComponents;
|
19 | transformers: VTUVNodeTypeTransformer[];
|
20 | }) => VNodeArgsTransformerFn;
|
21 | export {};
|