import type { HtmlFragment, LivePageRequestContext } from 'redweb'; /** A synchronous @component() instance owned by a page/component field. Ownership is checked at runtime. */ export interface ServerComponent { render(context: LivePageRequestContext): string | HtmlFragment | readonly HtmlFragment[]; } export type Child = HtmlFragment | ServerComponent | string | number | bigint | boolean | null | undefined | readonly Child[]; export interface IntrinsicAttributes { key?: string | number; } export interface IntrinsicProperties extends IntrinsicAttributes { children?: Child; class?: string; className?: string; id?: string; htmlFor?: string; [name: string]: unknown; } export namespace JSX { type Element = HtmlFragment; interface ElementChildrenAttribute { children: {}; } interface IntrinsicAttributes { key?: string | number; } interface IntrinsicElements { [name: string]: IntrinsicProperties; } } export const Fragment: unique symbol; export type ElementType = string | typeof Fragment | ((properties: any) => HtmlFragment | readonly HtmlFragment[]); export function jsx(type: ElementType, properties: IntrinsicProperties | null, key?: string | number): HtmlFragment; export const jsxs: typeof jsx;