/** * Enrollment Types * * Types for course-centric enrollment management. */ import type { EnrollmentRole } from './base'; /** * Course information within an enrollment. */ export interface EnrollmentCourse { id: string; title: string; metadata: Record; subjects?: string[] | null; grades?: string[] | null; primaryApp?: { id: string; name: string; domains: string[]; } | null; } /** * School information within an enrollment. */ export interface EnrollmentSchool { id: string; name: string; } /** * Enrollment goals metadata. */ export interface EnrollmentGoals { dailyXp?: number; dailyLessons?: number; dailyActiveMinutes?: number; dailyAccuracy?: number; dailyMasteredUnits?: number; } /** * Enrollment metrics metadata. */ export interface EnrollmentMetrics { totalXp?: number; totalLessons?: number; totalGrades?: number; courseType?: string; isSupplemental?: boolean; } /** * Enrollment metadata. */ export interface EnrollmentMetadata { goals?: EnrollmentGoals; metrics?: EnrollmentMetrics; [key: string]: unknown; } /** * Period information for enrollments. */ export interface EnrollmentPeriod { id: string; title: string; startDate: string | null; endDate: string | null; } /** * A user's enrollment in a course. */ export interface Enrollment { id: string; role: EnrollmentRole; beginDate: string | null; endDate: string | null; metadata?: EnrollmentMetadata; course: EnrollmentCourse; school: EnrollmentSchool; periods?: EnrollmentPeriod[]; testOutSupported: boolean; testOutEligible: boolean; } /** * Response from reset goals operation. */ export interface ResetGoalsResult { updated: number; errors: string[]; } /** * Course info returned within a default class response. */ export interface DefaultClassCourse { id: string; title: string; metadata: Record; } /** * Default class information for a course. * * Returned by the `/enrollments/defaultClass/:courseId/:schoolId?` endpoint. */ export interface DefaultClass { /** Class sourcedId */ id: string; /** Class title */ title: string; /** Class code (optional) */ classCode: string | null; /** Subject codes */ subjectCodes: string[]; /** Subject names/objects */ subjects: string[]; /** Grade levels */ grades: string[] | null; /** Academic period IDs */ periods: string[]; /** Associated course */ course: DefaultClassCourse; } //# sourceMappingURL=enrollments.d.ts.map