import type { VNode, VNodeArrayChildren, VNodeNormalizedChildren, VNodeProps } from 'vue'; export declare function filterEmpty(children?: any[]): any[]; export declare function filterEmptyWithUndefined(children: any[]): any[] | undefined; export declare const skipFlattenKey: unique symbol; export declare function flattenChildren(children?: any[], isFilterEmpty?: boolean): any[]; export declare function getSlot(self: any, name?: string, options?: {}): any[]; export interface RefObject extends Function { current?: any; } type NodeProps = Record & Omit & { ref?: VNodeProps['ref'] | RefObject; }; export declare function cloneElement(vnode: VNode | Array>, nodeProps?: NodeProps, override?: boolean, mergeRef?: boolean): VNode | null; export declare function ensureOnlyChild(children: VNodeArrayChildren | undefined): VNodeArrayChildren | (string | number | boolean | void | VNode | null | undefined); export declare function getNormalizedProps(node: VNode): Record; export declare function getFirstValidNode(nodes: VNodeNormalizedChildren, maxDepth?: number): string | number | boolean | void | VNodeArrayChildren | { [name: string]: unknown; $stable?: boolean; } | VNode | null | undefined; export {};