import { BlockDefinition, ComponentOptions, ForgeComponent } from "@ministryofjustice/hmpps-forge/core/components"; import { JsxChild, JsxProps, RawHtml, RawHtml as RawHtml$1, raw } from "@ministryofjustice/hmpps-forge/jsx-components/jsx-runtime"; //#region forge-jsx-components/src/utils/jsxComponent.d.ts /** * Defines a component whose render is written in JSX - `component()` with the output * pinned to the JSX runtime's `RawHtml`, stringified at the boundary so the registry * entry produces the same plain HTML strings as every other component. * * No renderer is involved: JSX compiles to direct string building, so unlike * `nunjucksComponent` there is no environment to inject. * * @experimental Part of the experimental JSX component API - may change or be removed * in a minor release. * * @example * ```tsx * export interface MyBadge extends BlockDefinition { * text: ResolvableString * } * * export const MyBadge = jsxComponent('myBadge', { * render: props => {props.text}, * }) * ``` */ declare function jsxComponent(variant: string, options: ComponentOptions): ForgeComponent; //#endregion export { type JsxChild, type JsxProps, RawHtml, jsxComponent, raw };