/** * WidgetSlot — renders inline widgets (e.g. collect-email, escalate-to-human) * for a message via the ChatWidgetRegistry. Reads the same metadata sources * the previous string-builder did, but the registry now returns Preact * VNodes so widgets compose naturally inside the message list. * * Submission UI is metadata-driven: once a widget is `submitted: true` * (set by the controller after a successful `onAction`), this component * renders a type-specific confirmation instead of the input form. */ import type { JSX } from "preact"; import type { ChatMessage } from "../../../utils/globals"; import type { ChatController } from "../controller/chat-controller"; interface WidgetSlotProps { message: ChatMessage; controller: ChatController; } declare function WidgetSlotImpl({ message, controller, }: WidgetSlotProps): JSX.Element | null; export declare const WidgetSlot: typeof WidgetSlotImpl; export {};