import { ReactNode } from 'react'; export type QuestionPlatform = "pc" | "mobile"; export type QuestionInteraction = "playful" | "minimal"; export type QuestionType = "single-choice" | "multiple-select" | "true-false" | "matching" | "sentence-order"; export interface QuestionOption { id: string; label: ReactNode; disabled?: boolean; } export interface QuestionFeedback { correct: boolean; explanation?: ReactNode; } export interface QuestionBaseProps { /** Explicit render platform — required, no auto device detection in library */ platform: QuestionPlatform; /** Interaction intensity; defaults to playful */ interaction?: QuestionInteraction; stem: ReactNode; hint?: ReactNode; number?: number | string; disabled?: boolean; feedback?: QuestionFeedback; className?: string; "aria-label"?: string; }