import type { ComponentType, ReactNode } from "react"; import type { AstNode, Budget, Environment, InterpreterCallback } from "./interpreter-foundation"; export interface JsxEmitterContext { components: Readonly>>; budget: Budget; warnings: Set; evaluate(node: AstNode, environment: Environment, depth: number): unknown; createCallback(node: AstNode, environment: Environment): InterpreterCallback; renderCallback(callback: InterpreterCallback, args: unknown[], depth: number): ReactNode; }