export interface Metadata { attempt_id: string; test_id: string; type: string; total_possible_score: number; deduction?: string; num_questions: number; name: string; start_time: string; // keep ISO string for consistency time_limit_minutes?: number; } export type Question = { question_id: string; question: string; options: string[]; type: "Single" | "Multiple"; }; export interface Test { metadata: Metadata; questions: Question[]; } export type Answer = number | null; export type AnswersMap = Record; export interface ExamResult { user_id: string; test_id: string; subject_id: string; topic_id: string; test_type: string; attempt_id: string; start_time: string; end_time: string; user_questions: Question[]; user_answers: (number | null)[]; correct_answers: number[]; correct_answers_count: number; wrong_answers_count: number; skipped_questions_count: number; }