import { AllowedComponentProps, ComponentCustomProps, ExtractPropTypes, IntrinsicElementAttributes, VNodeProps, h } from 'vue'; type DOMElements = keyof IntrinsicElementAttributes; type ElementType = Parameters[0]; export interface PolymorphicProps { /** * Use the provided child element as the default rendered element, combining their props and behavior. */ asChild?: boolean; } export type AsChildComponent = Record> = { new (): { $props: AllowedComponentProps & ComponentCustomProps & VNodeProps & ExtractPropTypes & (Component extends keyof IntrinsicElementAttributes ? IntrinsicElementAttributes[Component] : Record) & P & PolymorphicProps; }; }; export type HTMLPolymorphicComponents = { [E in DOMElements]: AsChildComponent; }; export type HTMLPolymorphicProps = Omit, 'ref'> & { asChild?: boolean; }; export type HTMLArkProps = HTMLPolymorphicProps; export declare function jsxFactory(): HTMLPolymorphicComponents; export declare const ark: HTMLPolymorphicComponents; export {};