import type { ElementTypes } from "./ElementTypes"; import type { BaseElementConfig } from "./BaseElement"; import type { PixiElementConfig } from "./PixiLayoutFactory"; type LayoutElementProps = { [K in keyof ElementTypes]: Omit & { children?: ReactNode; }; }; export declare namespace JSX { interface IntrinsicElements extends LayoutElementProps { } interface ElementChildrenAttribute { children: {}; } interface Element extends BaseElementConfig { } } interface ReactNodeArray extends Array { } export type ReactNode = JSX.Element | ReactNodeArray | false | null | undefined; export type Slots = Record; export type ComponentFunction = ((props: any, slots: Slots) => JSX.Element); export type IntrinsicElementNames = keyof LayoutElementProps; export type ComponentProps = T extends keyof LayoutElementProps ? LayoutElementProps[T] : T extends (arg0: infer K) => any ? Omit : never; export declare function Fragment(props: { children?: ReactNode; }): JSX.Element; export declare function Slot(props: { name: string; children?: ReactNode; }): JSX.Element; export declare function isFragment(data: JSX.Element): boolean; export declare function toArray(data: JSX.Element): PixiElementConfig[]; export declare function createElement(type: T, props: ComponentProps, ...rawChildren: ReactNode[]): PixiElementConfig | JSX.Element; export * as default from "./JSXSupport";