import { IntrinsicFallbackProps, IntrinsicElementForTag, IntrinsicRef, KnownIntrinsicElementProps, MathMLExtraTag, JSXElement, Props, } from './elements.js'; declare namespace JSX { type ElementType = string | symbol | ((props: never) => unknown); interface Element extends JSXElement { readonly __askrJsxElementBrand?: never; } interface KnownIntrinsicElements extends KnownIntrinsicElementProps {} interface IntrinsicElements extends KnownIntrinsicElements, OtherIntrinsicElements { [elem: `${string}-${string}`]: IntrinsicFallbackProps; } type OtherIntrinsicElements = { [ Tag in Exclude< | keyof HTMLElementTagNameMap | keyof SVGElementTagNameMap | Exclude | MathMLExtraTag, keyof KnownIntrinsicElementProps > ]: OtherIntrinsicProps; }; interface ElementChildrenAttribute { children: unknown; } /** Attributes every element accepts, including function components. */ interface IntrinsicAttributes { key?: string | number; } } type OtherIntrinsicProps = Omit< IntrinsicFallbackProps, 'ref' > & { ref?: IntrinsicRef> }; type OtherIntrinsicTag = | Exclude< | keyof HTMLElementTagNameMap | keyof SVGElementTagNameMap | Exclude | MathMLExtraTag, keyof KnownIntrinsicElementProps > | `${string}-${string}`; declare function jsxDEV( type: TTag, props: KnownIntrinsicElementProps[NoInfer] | null, key?: string | number, isStaticChildren?: boolean ): JSXElement; declare function jsxDEV( type: TTag, props: OtherIntrinsicProps | null, key?: string | number, isStaticChildren?: boolean ): JSXElement; declare function jsxDEV( type: (props: TProps) => unknown, props: TProps | null, key?: string | number, isStaticChildren?: boolean ): JSXElement; declare function jsxDEV( type: symbol, props: Props | null, key?: string | number, isStaticChildren?: boolean ): JSXElement; /** JSX factory for elements with a single or no child, used by the `jsxImportSource` transform. */ declare function jsx( type: TTag, props: KnownIntrinsicElementProps[NoInfer] | null, key?: string | number ): JSXElement; declare function jsx( type: TTag, props: OtherIntrinsicProps | null, key?: string | number ): JSXElement; declare function jsx( type: (props: TProps) => unknown, props: TProps | null, key?: string | number ): JSXElement; declare function jsx( type: symbol, props: Props | null, key?: string | number ): JSXElement; /** JSX factory for elements with multiple static children, used by the `jsxImportSource` transform. */ declare function jsxs( type: TTag, props: KnownIntrinsicElementProps[NoInfer] | null, key?: string | number ): JSXElement; declare function jsxs( type: TTag, props: OtherIntrinsicProps | null, key?: string | number ): JSXElement; declare function jsxs( type: (props: TProps) => unknown, props: TProps | null, key?: string | number ): JSXElement; declare function jsxs( type: symbol, props: Props | null, key?: string | number ): JSXElement; /** * Classic element factory. The automatic JSX transform falls back to it for a * `key` written after a spread (``). The key and * the development-only `__self`/`__source` props are taken out of `props`, * and child arguments become `props.children`. */ declare function createElement( type: string | symbol | ((props: never) => unknown), props: Record | null, ...children: unknown[] ): JSXElement; export { createElement, jsxs, jsx, jsxDEV, JSX };