// Cynhyrchwyd y ffeil hon yn awtomatig. PEIDIWCH Â MODIWL // This file is automatically generated. DO NOT EDIT // eslint-disable-next-line @typescript-eslint/ban-ts-comment // @ts-ignore: Unused imports import * as time$0 from "../time/models.js"; export interface AnswerEvaluation { "score": number; "keywords": string[] | null; "strengths": string[] | null; "improvements": string[] | null; "feedback": string; } export interface AnswerRecord { "question": Question; "transcript": string; "durationSec": number; "evaluation": AnswerEvaluation; "answeredAt": time$0.Time; "audioPresent": boolean; } export interface AppSettings { "hasApiKey": boolean; "demoMode": boolean; "evaluationModel": string; "transcribeModel": string; "realtimeModel": string; } export interface ConfigureRequest { "apiKey": string; "demoMode": boolean; "evaluationModel": string; "transcribeModel": string; "realtimeModel": string; } export interface ExamConfig { "difficulty": string; "topics": string[] | null; "language": string; } export interface ExamReport { "sessionId": string; "config": ExamConfig; "overall": OverallReport; "answers": AnswerRecord[] | null; "generatedAt": time$0.Time; } export interface OverallReport { "score": number; "estimatedBand": string; "summary": string; "strengths": string[] | null; "priorities": string[] | null; } export interface Question { "index": number; "category": string; "topic": string; "text": string; "intent": string; } export interface StartSessionResponse { "sessionId": string; "question": Question; "totalCount": number; } export interface SubmitAnswerRequest { "sessionId": string; "questionIdx": number; "audioBase64": string; "audioMime": string; "transcript": string; "durationSec": number; } export interface SubmitAnswerResponse { "transcript": string; "evaluation": AnswerEvaluation; "next"?: Question | null; "completed": boolean; "progress": number; }