import { type Slots, type VNode, type VNodeChild } from 'vue';
export declare const isFragment: (node: VNode) => boolean;
export declare const isText: (node: VNode) => boolean;
export declare const isComment: (node: VNode) => boolean;
export declare const isTemplate: (node: VNode) => boolean;
/**
 * determine if the element is a valid element type rather than fragments and comment e.g. <template> v-if
 * @param node {VNode} node to be tested
 */
export declare const isValidElementNode: (node: VNode) => boolean;
export declare function getFirstValidNode(vNodes: VNodeChild[]): VNode | null;
export declare function getSlot(slots: Slots, slotName?: string, props?: unknown): VNode<import("vue").RendererNode, import("vue").RendererElement, {
    [key: string]: any;
}>[];
export declare function flatten(vNodes: VNodeChild[], result?: VNode[], key?: string): VNode<import("vue").RendererNode, import("vue").RendererElement, {
    [key: string]: any;
}>[];
