import { Component, ComponentPublicInstance, Slots, VNode, VNodeTypes } from 'vue'; export declare enum ShapeFlags { ELEMENT = 1, FUNCTIONAL_COMPONENT = 2, STATEFUL_COMPONENT = 4, TEXT_CHILDREN = 8, ARRAY_CHILDREN = 16, SLOTS_CHILDREN = 32, TELEPORT = 64, SUSPENSE = 128, COMPONENT_SHOULD_KEEP_ALIVE = 256, COMPONENT_KEPT_ALIVE = 512, COMPONENT = 6 } /** * 获取dom元素 * * @param selector 选择器字符串 * @param parent 父级元素 */ export declare function getElement(selector: string, parent?: Element | Document): T | null; /** * 获取所有dom元素 * * @param selector 选择器字符串 * @param parent 父级元素 */ export declare function getElementAll(selector: string, parent?: Element | Document): T[]; /** 判断是否是组件实例 */ export declare const isComponentInstance: (value: any) => value is ComponentPublicInstance; /** 是否存在多个子节点 */ export declare const isArrayChildren: (vn: VNode, _children: VNode["children"]) => _children is VNode[]; /** 是否是元素节点 */ export declare const isElement: (vn: VNode) => boolean; /** 判断是否为组件 */ export declare const isComponent: (vn: VNode, _type?: VNodeTypes) => _type is Component; export declare const isSlotsChildren: (vn: VNode, _children: VNode["children"]) => _children is Slots; /** 子节点是否是文本节点 */ export declare const isText: (vn: VNode, _children: VNode["children"]) => _children is string; /** * 判断是否是名为 name 的组件 * * @param child 虚拟 dom 节点 * @param name 组件名 */ export declare const isNamedComponent: (child: VNode, name: string) => boolean; /** 判断子节点是否是文本节点 */ export declare const isTextChildren: (child: VNode, _children: VNode["children"]) => _children is string; /** * 获取第一个组件实例 * * @param children 组件内部节点 */ export declare const getFirstComponent: (children: VNode[] | undefined) => VNode | undefined; /** * 判断元素是否在容器范围内 * * @param elRect 元素DOMRect * @param containerRect 容器DOMRect * @param direction 判定方向,默认水平方向 */ export declare function isElementInContainerView(elRect: DOMRect | undefined, containerRect: DOMRect | undefined, direction?: 'horizontal' | 'vertical'): boolean | undefined; /** * 判断元素是否为 input 或 textarea 元素 * * @param el 元素 */ export declare function isInputElement(el: Element | HTMLElement): el is HTMLInputElement | HTMLTextAreaElement; /** * 判断组件是否是Vue组件 * * @param component 组件 */ export declare function isVueComponent(component: any): boolean;