import { type VNode, type VNodeTypes, type VNodeNormalizedChildren, type ComponentPublicInstance, type VNodeArrayChildren, type Component, type ComponentOptionsMixin } from 'vue'; export declare const canUseDOM: boolean; export declare const isComponentPublicInstance: (v: any) => v is ComponentPublicInstance; /** * * @param {string} s string to make camelCased */ export declare function toCamelCase(s: S): ToCamelCase; export declare const ucfirst: (s: string) => string; export type ToCamelCase = S extends `${infer T}_${infer U}` ? `${Lowercase}${Capitalize>}` : S extends `${infer T}-${infer U}` ? `${Lowercase}${Capitalize>}` : S; export declare function debounce(func: (args: T[]) => any, wait: number): (...args: T[]) => void; export declare function findComponentVNode(vnodes: VNode[] | VNodeNormalizedChildren): VNode | undefined; export declare function vnodeTypeIsComponent(vtype: VNodeTypes): vtype is Component & ComponentOptionsMixin; export declare function findFirstChildVNode(vnodes: VNode[] | VNodeNormalizedChildren | undefined, matchFn?: ((vnode: VNode) => boolean) | undefined): VNode | undefined; export declare function findChildrenVNodes(vnodes: VNode[] | VNodeNormalizedChildren | undefined): VNode[]; /** * Wraps the given nodes in a Fragment vnode, so that the output of a render function can be rendered inline * from a template with ``. * Unlike ``, which mounts a separate functional component that does not update when its parent re-renders, * this always re-evaluates the render function together with the parent. */ export declare function fragment(vnodes: VNode | VNodeArrayChildren | null | undefined): VNode; export declare function walkChildrenVNodes(vnodes: T, mapFn: (node: VNode, index: number) => VNode, startIndex?: number): T; export declare function domFromRef(ref: ComponentPublicInstance | Element): HTMLElement; /** This function returns whether or not an element is within the viewable area of a container. If partial is true, * then this function will return true even if only part of the element is in view. * * @param {HTMLElement} container The container to check if the element is in view of. * @param {HTMLElement} element The element to check if it is view * @param {boolean} partial true if partial view is allowed * * @returns { boolean } True if the component is in View. */ export declare function isElementInView(container: Element | null, element: Element | null, partial: boolean): boolean; export declare function pluralize(i: number, singular: string, plural?: string): string; /** * Calculate the width of the text * Example: * getTextWidth('my text', node) * * @param {string} text The text to calculate the width for * @param {HTMLElement} node The HTML element */ export declare function getTextWidth(text: string, node: HTMLElement): number; /** Returns the dimensions of the content box of an element, without its padding */ export declare function innerDimensions(node: HTMLElement): { width: number; height: number; }; /** * Truncates the value of an input at its start, with a leading ellipsis, so that its end stays in view. * * @param {HTMLInputElement} node The input element * @param {string} value The original value */ export declare function trimLeft(node: HTMLInputElement, value: string): void; export declare function fillTemplate(templateString: string, templateVars: any): string; export declare function isRawSlots(children: VNodeNormalizedChildren | undefined): children is Exclude; /** * Return the breakpoint for the given width */ export declare const getBreakpoint: (width: number) => "default" | "sm" | "md" | "lg" | "xl" | "2xl"; /** * Return the breakpoint for the given height * * @param {number | null} height The height to check * @returns {'default' | 'sm' | 'md' | 'lg' | 'xl' | '2xl'} The breakpoint */ export declare const getVerticalBreakpoint: (height: number) => "default" | "sm" | "md" | "lg" | "xl" | "2xl"; //# sourceMappingURL=util.d.ts.map