export { C as ChoiceCorrectness, d as ContentBlockRenderer, a as ContentBlockRendererProps, e as QTIRenderer, Q as QTIRendererProps, f as QTIStimulusRenderer, b as QTIStimulusRendererProps, c as QTITheme, R as ResponseFeedback } from '../qti-stimulus-renderer-B92JxB_6.js'; import * as react_jsx_runtime from 'react/jsx-runtime'; import { C as ChoiceInteraction, A as AssessmentItem, j as DisplayInlineEmbed, l as DisplayTextEmbed, h as DisplayGap } from '../schema-DSKqO7r8.js'; import { EvaluationResult } from '../types.js'; import * as React from 'react'; import 'zod'; interface ChoiceInteractionRendererProps { /** The choice interaction to render */ interaction: ChoiceInteraction; /** Current user response for this interaction */ response?: string | string[]; /** Callback when user selects an answer */ onAnswerSelect?: (value: string | string[]) => void; /** Whether to disable the interaction */ disabled?: boolean; /** Whether submit occurred; used to lock inputs and color selections */ hasSubmitted?: boolean; /** Idle palette (before submit) */ palette?: "default" | "betta" | "cardinal" | "bee" | "owl" | "macaw"; /** Overall correctness (single-select) used for selected coloring */ isCorrect?: boolean; /** Per-selection correctness (multi-select) for secure highlighting */ selectedChoicesCorrectness?: Array<{ id: string; isCorrect: boolean; }>; } /** * Renders a choice interaction (single or multiple choice) */ declare function ChoiceInteractionRenderer({ interaction, response, onAnswerSelect, disabled, hasSubmitted, palette, isCorrect, selectedChoicesCorrectness }: ChoiceInteractionRendererProps): react_jsx_runtime.JSX.Element; declare function FeedbackMessage({ responseId, showFeedback, perResponseFeedback }: { responseId: string; showFeedback?: boolean; perResponseFeedback?: Record; }): react_jsx_runtime.JSX.Element | null; interface QtiFeedbackBlockProps { /** The evaluation result containing feedback info */ result: EvaluationResult; /** The assessment item containing feedback blocks */ item: AssessmentItem; /** Custom class name */ className?: string; } /** * Renders the appropriate feedback block based on evaluation results. * * This component handles: * - Finding the correct feedback block to display * - Styling based on correct/incorrect status * - Sanitizing and rendering the feedback HTML */ declare function QtiFeedbackBlock({ result, item, className }: QtiFeedbackBlockProps): react_jsx_runtime.JSX.Element | null; /** * Renders HTML content with proper MathML support * Uses innerHTML assignment to preserve MathML structure */ declare function HTMLContent({ html, className, inlineEmbeds, textEmbeds, gapEmbeds, renderInline, renderTextEntry, renderGap }: { html: string; className?: string; inlineEmbeds?: Record; textEmbeds?: Record; gapEmbeds?: Record; renderInline?: (embed: DisplayInlineEmbed) => React.ReactElement; renderTextEntry?: (embed: DisplayTextEmbed) => React.ReactElement; renderGap?: (gap: DisplayGap) => React.ReactElement; }): react_jsx_runtime.JSX.Element; export { ChoiceInteractionRenderer, type ChoiceInteractionRendererProps, FeedbackMessage, HTMLContent, QtiFeedbackBlock, type QtiFeedbackBlockProps };