import type { Attributes, ComponentType, ReactElement, ReactNode } from 'react'; import type { IntrinsicElements } from '@lynx-js/types'; /** * The call signature of ReactLynx `createElement`. * * @public * * @group Types */ export interface CreateElement { /** Creates an element for a Lynx intrinsic element. */ (type: Type, props?: IntrinsicElements[Type] | null, ...children: ReactNode[]): ReactElement; /** Creates an element for a component. */ (type: ComponentType | string, props?: (Attributes & Props) | null, ...children: ReactNode[]): ReactElement; } /** * The call signature of ReactLynx `cloneElement`. * * @public * * @group Types */ export interface CloneElement { /** Clones an element with optional replacement props and children. */ (element: ReactElement, props?: (Partial & Attributes) | null, ...children: ReactNode[]): ReactElement; } /** * Creates a ReactLynx element using the snapshot runtime. * * @function * @public * * @group Functions */ export declare const createElement: CreateElement; /** * Clones a ReactLynx element using the snapshot runtime. * * @function * @public * * @group Functions */ export declare const cloneElement: CloneElement;