/** * Assessment Tests Types * * Types for QTI assessment test resources including test parts and sections. */ import type { NavigationMode, SubmissionMode, TestOutcomeDeclaration } from './base'; /** * Reference to an assessment item within a section. */ export interface AssessmentItemRef { identifier: string; /** Item reference href */ href: string; sequence?: number; } /** * Assessment section within a test part. */ export interface AssessmentSection { identifier: string; title: string; visible: boolean; required?: boolean; fixed?: boolean; sequence: number; 'qti-assessment-item-ref'?: AssessmentItemRef[]; } /** * Test part within an assessment test. */ export interface TestPart { identifier: string; navigationMode: NavigationMode; submissionMode: SubmissionMode; 'qti-assessment-section': AssessmentSection[]; } /** * Assessment test entity. */ export interface AssessmentTest { identifier: string; title: string; qtiVersion: string; 'qti-test-part': TestPart[]; /** Outcome declarations for the test. May be an empty array or absent. */ 'qti-outcome-declaration'?: TestOutcomeDeclaration[]; timeLimit?: number; maxAttempts?: number; toolsEnabled?: Record; metadata?: Record; /** Raw QTI XML string */ rawXml: string; /** * Parsed XML→JSON content. * Structure varies by test. */ content: Record; createdAt: string; updatedAt: string; __v?: number; isValidXml?: boolean; } /** * Question reference within a test. */ export interface QuestionReference { identifier: string; href: string; testPart: string; section: string; } /** * Question with full item details. */ export interface QuestionWithItem { reference: QuestionReference; question: import('./assessment-items').AssessmentItem; } /** * Response from GET /assessment-tests/{identifier}/questions. */ export interface QuestionsResponse { assessmentTest: string; title: string; totalQuestions: number; questions: QuestionWithItem[]; } //# sourceMappingURL=assessment-tests.d.ts.map