/** * Timeback Primitives Schemas * * Zod schemas for runtime validation of core types. * * ## Organization * * This file contains Zod schemas that mirror the TypeScript types in `../primitives.ts`. * For clarity, schemas are grouped by scope: * * 1. **Shared utilities** - Date/time validation, etc. * 2. **Shared Timeback schemas** - Used across multiple protocols * 3. **OneRoster-specific schemas** - Used only by OneRoster * 4. **QTI-specific schemas** - Used only by QTI * 5. **IMS Global schemas** - 1EdTech standard types * * Protocol-specific schemas are kept here (rather than in protocol files) because * they're low-level building blocks imported by the protocol schema files. */ import { z } from 'zod/v4'; /** * ISO 8601 datetime string (e.g., "2024-01-15T10:30:00Z"). */ export declare const IsoDateTimeString: z.ZodString; /** * ISO 8601 date string (e.g., "2024-01-15"). */ export declare const IsoDateString: z.ZodString; /** * Non-empty string that trims whitespace before validation. * Rejects empty strings and whitespace-only strings. */ export declare const NonEmptyString: z.ZodString; /** * Valid Timeback subject values. * Used in OneRoster courses and Caliper events. */ export declare const TimebackSubject: z.ZodEnum<{ FastMath: "FastMath"; Language: "Language"; Math: "Math"; None: "None"; Other: "Other"; Reading: "Reading"; Science: "Science"; "Social Studies": "Social Studies"; Vocabulary: "Vocabulary"; Writing: "Writing"; }>; /** * Grade levels per Timeback OneRoster GradeEnum. * Accepts numeric or string input and normalizes to numeric output. * -1 = Pre-K, 0 = Kindergarten, 1-12 = Grades 1-12, 13 = AP */ export declare const TimebackGrade: z.ZodPipe>]>, z.ZodUnion, z.ZodLiteral<0>, z.ZodLiteral<1>, z.ZodLiteral<2>, z.ZodLiteral<3>, z.ZodLiteral<4>, z.ZodLiteral<5>, z.ZodLiteral<6>, z.ZodLiteral<7>, z.ZodLiteral<8>, z.ZodLiteral<9>, z.ZodLiteral<10>, z.ZodLiteral<11>, z.ZodLiteral<12>, z.ZodLiteral<13>]>>; /** * OneRoster assessment result score status values. */ export declare const ScoreStatus: z.ZodEnum<{ exempt: "exempt"; "fully graded": "fully graded"; "not submitted": "not submitted"; "partially graded": "partially graded"; submitted: "submitted"; }>; /** * OneRoster organization types. */ export declare const OrganizationType: z.ZodEnum<{ department: "department"; district: "district"; local: "local"; national: "national"; school: "school"; state: "state"; }>; /** * OneRoster user role types. */ export declare const OneRosterUserRole: z.ZodEnum<{ administrator: "administrator"; aide: "aide"; guardian: "guardian"; parent: "parent"; proctor: "proctor"; relative: "relative"; student: "student"; teacher: "teacher"; }>; /** * Subset of OneRosterUserRole for enrollments. */ export declare const EnrollmentRole: z.ZodEnum<{ administrator: "administrator"; proctor: "proctor"; student: "student"; teacher: "teacher"; }>; /** * Resource type discriminator for metadata. * Determines which metadata schema applies. */ export declare const ResourceType: z.ZodEnum<{ "assessment-bank": "assessment-bank"; audio: "audio"; "course-material": "course-material"; interactive: "interactive"; qti: "qti"; text: "text"; video: "video"; visual: "visual"; }>; /** * QTI resource sub-types. */ export declare const QtiSubType: z.ZodEnum<{ "qti-question": "qti-question"; "qti-stimulus": "qti-stimulus"; "qti-test": "qti-test"; "qti-test-bank": "qti-test-bank"; }>; /** * Course material sub-types. */ export declare const CourseMaterialSubType: z.ZodEnum<{ course: "course"; "resource-collection": "resource-collection"; unit: "unit"; }>; /** * QTI question types. */ export declare const QuestionType: z.ZodEnum<{ associate: "associate"; choice: "choice"; custom: "custom"; drawing: "drawing"; "extended-text": "extended-text"; "graphic-associate": "graphic-associate"; "graphic-gap-match": "graphic-gap-match"; "graphic-order": "graphic-order"; hotspot: "hotspot"; hottext: "hottext"; "inline-choice": "inline-choice"; match: "match"; media: "media"; order: "order"; "select-point": "select-point"; slider: "slider"; "text-entry": "text-entry"; upload: "upload"; }>; /** * Difficulty levels for resources. */ export declare const Difficulty: z.ZodEnum<{ easy: "easy"; hard: "hard"; medium: "medium"; }>; /** * Learning objective set for resource metadata. */ export declare const LearningObjectiveSetSchema: z.ZodArray; }, z.core.$strip>>; /** * Fast-fail configuration for PowerPath 100 lessons. */ export declare const FastFailConfigSchema: z.ZodOptional; stagnation_limit: z.ZodOptional; }, z.core.$strip>>; /** * Lesson types for PowerPath integration. */ export declare const LessonType: z.ZodNullable>; /** * IMS Global error response format. * Used across OneRoster, Caliper, and other 1EdTech protocols. */ export declare const IMSErrorResponse: z.ZodObject<{ imsx_codeMajor: z.ZodEnum<{ failure: "failure"; success: "success"; }>; imsx_severity: z.ZodEnum<{ error: "error"; status: "status"; warning: "warning"; }>; imsx_description: z.ZodString; imsx_CodeMinor: z.ZodOptional>; }, z.core.$strip>>; }, z.core.$strip>; //# sourceMappingURL=primitives.d.ts.map