import { ContainerBase, ContainerConfig } from "../ui/Container"; import { Instance } from "../ui/Instance"; import { Prop } from "../ui/Prop"; import type { RenderingContext } from "../ui/RenderingContext"; type ReactElementWrapperConfigBase = Omit; type CxCallback = T extends (...args: infer A) => infer R ? (this: Instance, ...args: A) => R : T; type TransformProp = K extends keyof ReactElementWrapperConfigBase ? ReactElementWrapperConfigBase[K] : NonNullable extends Function ? CxCallback : Prop; type TransformReactElementProps = { [K in keyof T]: TransformProp; }; /** ReactElementWrapper configuration with component-specific props */ export type ReactElementWrapperConfig

= ReactElementWrapperConfigBase & TransformReactElementProps

; interface ReactElementWrapperInstance extends Instance { events?: Record; } export declare class ReactElementWrapper = React.ComponentType> extends ContainerBase { componentType: React.ComponentType; jsxAttributes?: string[]; props?: Record; [key: string]: unknown; init(): void; initInstance(_context: RenderingContext, _instance: ReactElementWrapperInstance): void; declareData(...args: Record[]): void; render(context: RenderingContext, instance: ReactElementWrapperInstance, key: string): React.ReactNode; } export {}; //# sourceMappingURL=ReactElementWrapper.d.ts.map