"use strict";
/*
 * Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT.
 */
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
    if (k2 === undefined) k2 = k;
    var desc = Object.getOwnPropertyDescriptor(m, k);
    if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
      desc = { enumerable: true, get: function() { return m[k]; } };
    }
    Object.defineProperty(o, k2, desc);
}) : (function(o, m, k, k2) {
    if (k2 === undefined) k2 = k;
    o[k2] = m[k];
}));
var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
    Object.defineProperty(o, "default", { enumerable: true, value: v });
}) : function(o, v) {
    o["default"] = v;
});
var __importStar = (this && this.__importStar) || (function () {
    var ownKeys = function(o) {
        ownKeys = Object.getOwnPropertyNames || function (o) {
            var ar = [];
            for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
            return ar;
        };
        return ownKeys(o);
    };
    return function (mod) {
        if (mod && mod.__esModule) return mod;
        var result = {};
        if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
        __setModuleDefault(result, mod);
        return result;
    };
})();
Object.defineProperty(exports, "__esModule", { value: true });
exports.LineItem$inboundSchema = exports.LineItemComponent$ = exports.LineItemComponent$outboundSchema = exports.LineItemComponent$inboundSchema = exports.GetCourseProgressResult1$ = exports.GetCourseProgressResult1$outboundSchema = exports.GetCourseProgressResult1$inboundSchema = exports.GetCourseProgressLearningObjectiveSet1$ = exports.GetCourseProgressLearningObjectiveSet1$outboundSchema = exports.GetCourseProgressLearningObjectiveSet1$inboundSchema = exports.GetCourseProgressLearningObjectiveResult1$ = exports.GetCourseProgressLearningObjectiveResult1$outboundSchema = exports.GetCourseProgressLearningObjectiveResult1$inboundSchema = exports.GetCourseProgressScoreStatus1$ = exports.GetCourseProgressScoreStatus1$outboundSchema = exports.GetCourseProgressScoreStatus1$inboundSchema = exports.ScoreScale1$ = exports.ScoreScale1$outboundSchema = exports.ScoreScale1$inboundSchema = exports.GetCourseProgressStatus1$ = exports.GetCourseProgressStatus1$outboundSchema = exports.GetCourseProgressStatus1$inboundSchema = exports.LineItemResource$ = exports.LineItemResource$outboundSchema = exports.LineItemResource$inboundSchema = exports.GetCourseProgressResult2$ = exports.GetCourseProgressResult2$outboundSchema = exports.GetCourseProgressResult2$inboundSchema = exports.GetCourseProgressLearningObjectiveSet2$ = exports.GetCourseProgressLearningObjectiveSet2$outboundSchema = exports.GetCourseProgressLearningObjectiveSet2$inboundSchema = exports.GetCourseProgressLearningObjectiveResult2$ = exports.GetCourseProgressLearningObjectiveResult2$outboundSchema = exports.GetCourseProgressLearningObjectiveResult2$inboundSchema = exports.GetCourseProgressScoreStatus2$ = exports.GetCourseProgressScoreStatus2$outboundSchema = exports.GetCourseProgressScoreStatus2$inboundSchema = exports.ScoreScale2$ = exports.ScoreScale2$outboundSchema = exports.ScoreScale2$inboundSchema = exports.GetCourseProgressStatus2$ = exports.GetCourseProgressStatus2$outboundSchema = exports.GetCourseProgressStatus2$inboundSchema = exports.GetCourseProgressRequest$ = exports.GetCourseProgressRequest$outboundSchema = exports.GetCourseProgressRequest$inboundSchema = exports.GetCourseProgressScoreStatus1 = exports.GetCourseProgressStatus1 = exports.GetCourseProgressScoreStatus2 = exports.GetCourseProgressStatus2 = void 0;
exports.GetCourseProgressResponse$ = exports.GetCourseProgressResponse$outboundSchema = exports.GetCourseProgressResponse$inboundSchema = exports.LineItem$ = exports.LineItem$outboundSchema = void 0;
exports.getCourseProgressRequestToJSON = getCourseProgressRequestToJSON;
exports.getCourseProgressRequestFromJSON = getCourseProgressRequestFromJSON;
exports.scoreScale2ToJSON = scoreScale2ToJSON;
exports.scoreScale2FromJSON = scoreScale2FromJSON;
exports.getCourseProgressLearningObjectiveResult2ToJSON = getCourseProgressLearningObjectiveResult2ToJSON;
exports.getCourseProgressLearningObjectiveResult2FromJSON = getCourseProgressLearningObjectiveResult2FromJSON;
exports.getCourseProgressLearningObjectiveSet2ToJSON = getCourseProgressLearningObjectiveSet2ToJSON;
exports.getCourseProgressLearningObjectiveSet2FromJSON = getCourseProgressLearningObjectiveSet2FromJSON;
exports.getCourseProgressResult2ToJSON = getCourseProgressResult2ToJSON;
exports.getCourseProgressResult2FromJSON = getCourseProgressResult2FromJSON;
exports.lineItemResourceToJSON = lineItemResourceToJSON;
exports.lineItemResourceFromJSON = lineItemResourceFromJSON;
exports.scoreScale1ToJSON = scoreScale1ToJSON;
exports.scoreScale1FromJSON = scoreScale1FromJSON;
exports.getCourseProgressLearningObjectiveResult1ToJSON = getCourseProgressLearningObjectiveResult1ToJSON;
exports.getCourseProgressLearningObjectiveResult1FromJSON = getCourseProgressLearningObjectiveResult1FromJSON;
exports.getCourseProgressLearningObjectiveSet1ToJSON = getCourseProgressLearningObjectiveSet1ToJSON;
exports.getCourseProgressLearningObjectiveSet1FromJSON = getCourseProgressLearningObjectiveSet1FromJSON;
exports.getCourseProgressResult1ToJSON = getCourseProgressResult1ToJSON;
exports.getCourseProgressResult1FromJSON = getCourseProgressResult1FromJSON;
exports.lineItemComponentToJSON = lineItemComponentToJSON;
exports.lineItemComponentFromJSON = lineItemComponentFromJSON;
exports.lineItemToJSON = lineItemToJSON;
exports.lineItemFromJSON = lineItemFromJSON;
exports.getCourseProgressResponseToJSON = getCourseProgressResponseToJSON;
exports.getCourseProgressResponseFromJSON = getCourseProgressResponseFromJSON;
const z = __importStar(require("zod"));
const schemas_js_1 = require("../../lib/schemas.js");
exports.GetCourseProgressStatus2 = {
    Active: "active",
    Tobedeleted: "tobedeleted",
};
exports.GetCourseProgressScoreStatus2 = {
    Exempt: "exempt",
    FullyGraded: "fully graded",
    NotSubmitted: "not submitted",
    PartiallyGraded: "partially graded",
    Submitted: "submitted",
};
exports.GetCourseProgressStatus1 = {
    Active: "active",
    Tobedeleted: "tobedeleted",
};
exports.GetCourseProgressScoreStatus1 = {
    Exempt: "exempt",
    FullyGraded: "fully graded",
    NotSubmitted: "not submitted",
    PartiallyGraded: "partially graded",
    Submitted: "submitted",
};
/** @internal */
exports.GetCourseProgressRequest$inboundSchema = z.object({
    courseId: z.string(),
    studentId: z.string(),
});
/** @internal */
exports.GetCourseProgressRequest$outboundSchema = z.object({
    courseId: z.string(),
    studentId: z.string(),
});
/**
 * @internal
 * @deprecated This namespace will be removed in future versions. Use schemas and types that are exported directly from this module.
 */
var GetCourseProgressRequest$;
(function (GetCourseProgressRequest$) {
    /** @deprecated use `GetCourseProgressRequest$inboundSchema` instead. */
    GetCourseProgressRequest$.inboundSchema = exports.GetCourseProgressRequest$inboundSchema;
    /** @deprecated use `GetCourseProgressRequest$outboundSchema` instead. */
    GetCourseProgressRequest$.outboundSchema = exports.GetCourseProgressRequest$outboundSchema;
})(GetCourseProgressRequest$ || (exports.GetCourseProgressRequest$ = GetCourseProgressRequest$ = {}));
function getCourseProgressRequestToJSON(getCourseProgressRequest) {
    return JSON.stringify(exports.GetCourseProgressRequest$outboundSchema.parse(getCourseProgressRequest));
}
function getCourseProgressRequestFromJSON(jsonString) {
    return (0, schemas_js_1.safeParse)(jsonString, (x) => exports.GetCourseProgressRequest$inboundSchema.parse(JSON.parse(x)), `Failed to parse 'GetCourseProgressRequest' from JSON`);
}
/** @internal */
exports.GetCourseProgressStatus2$inboundSchema = z.nativeEnum(exports.GetCourseProgressStatus2);
/** @internal */
exports.GetCourseProgressStatus2$outboundSchema = exports.GetCourseProgressStatus2$inboundSchema;
/**
 * @internal
 * @deprecated This namespace will be removed in future versions. Use schemas and types that are exported directly from this module.
 */
var GetCourseProgressStatus2$;
(function (GetCourseProgressStatus2$) {
    /** @deprecated use `GetCourseProgressStatus2$inboundSchema` instead. */
    GetCourseProgressStatus2$.inboundSchema = exports.GetCourseProgressStatus2$inboundSchema;
    /** @deprecated use `GetCourseProgressStatus2$outboundSchema` instead. */
    GetCourseProgressStatus2$.outboundSchema = exports.GetCourseProgressStatus2$outboundSchema;
})(GetCourseProgressStatus2$ || (exports.GetCourseProgressStatus2$ = GetCourseProgressStatus2$ = {}));
/** @internal */
exports.ScoreScale2$inboundSchema = z.object({
    sourcedId: z.string(),
});
/** @internal */
exports.ScoreScale2$outboundSchema = z.object({
    sourcedId: z.string(),
});
/**
 * @internal
 * @deprecated This namespace will be removed in future versions. Use schemas and types that are exported directly from this module.
 */
var ScoreScale2$;
(function (ScoreScale2$) {
    /** @deprecated use `ScoreScale2$inboundSchema` instead. */
    ScoreScale2$.inboundSchema = exports.ScoreScale2$inboundSchema;
    /** @deprecated use `ScoreScale2$outboundSchema` instead. */
    ScoreScale2$.outboundSchema = exports.ScoreScale2$outboundSchema;
})(ScoreScale2$ || (exports.ScoreScale2$ = ScoreScale2$ = {}));
function scoreScale2ToJSON(scoreScale2) {
    return JSON.stringify(exports.ScoreScale2$outboundSchema.parse(scoreScale2));
}
function scoreScale2FromJSON(jsonString) {
    return (0, schemas_js_1.safeParse)(jsonString, (x) => exports.ScoreScale2$inboundSchema.parse(JSON.parse(x)), `Failed to parse 'ScoreScale2' from JSON`);
}
/** @internal */
exports.GetCourseProgressScoreStatus2$inboundSchema = z.nativeEnum(exports.GetCourseProgressScoreStatus2);
/** @internal */
exports.GetCourseProgressScoreStatus2$outboundSchema = exports.GetCourseProgressScoreStatus2$inboundSchema;
/**
 * @internal
 * @deprecated This namespace will be removed in future versions. Use schemas and types that are exported directly from this module.
 */
var GetCourseProgressScoreStatus2$;
(function (GetCourseProgressScoreStatus2$) {
    /** @deprecated use `GetCourseProgressScoreStatus2$inboundSchema` instead. */
    GetCourseProgressScoreStatus2$.inboundSchema = exports.GetCourseProgressScoreStatus2$inboundSchema;
    /** @deprecated use `GetCourseProgressScoreStatus2$outboundSchema` instead. */
    GetCourseProgressScoreStatus2$.outboundSchema = exports.GetCourseProgressScoreStatus2$outboundSchema;
})(GetCourseProgressScoreStatus2$ || (exports.GetCourseProgressScoreStatus2$ = GetCourseProgressScoreStatus2$ = {}));
/** @internal */
exports.GetCourseProgressLearningObjectiveResult2$inboundSchema = z.object({
    learningObjectiveId: z.string(),
    score: z.number().optional(),
    textScore: z.string().optional(),
});
/** @internal */
exports.GetCourseProgressLearningObjectiveResult2$outboundSchema = z.object({
    learningObjectiveId: z.string(),
    score: z.number().optional(),
    textScore: z.string().optional(),
});
/**
 * @internal
 * @deprecated This namespace will be removed in future versions. Use schemas and types that are exported directly from this module.
 */
var GetCourseProgressLearningObjectiveResult2$;
(function (GetCourseProgressLearningObjectiveResult2$) {
    /** @deprecated use `GetCourseProgressLearningObjectiveResult2$inboundSchema` instead. */
    GetCourseProgressLearningObjectiveResult2$.inboundSchema = exports.GetCourseProgressLearningObjectiveResult2$inboundSchema;
    /** @deprecated use `GetCourseProgressLearningObjectiveResult2$outboundSchema` instead. */
    GetCourseProgressLearningObjectiveResult2$.outboundSchema = exports.GetCourseProgressLearningObjectiveResult2$outboundSchema;
})(GetCourseProgressLearningObjectiveResult2$ || (exports.GetCourseProgressLearningObjectiveResult2$ = GetCourseProgressLearningObjectiveResult2$ = {}));
function getCourseProgressLearningObjectiveResult2ToJSON(getCourseProgressLearningObjectiveResult2) {
    return JSON.stringify(exports.GetCourseProgressLearningObjectiveResult2$outboundSchema.parse(getCourseProgressLearningObjectiveResult2));
}
function getCourseProgressLearningObjectiveResult2FromJSON(jsonString) {
    return (0, schemas_js_1.safeParse)(jsonString, (x) => exports.GetCourseProgressLearningObjectiveResult2$inboundSchema.parse(JSON.parse(x)), `Failed to parse 'GetCourseProgressLearningObjectiveResult2' from JSON`);
}
/** @internal */
exports.GetCourseProgressLearningObjectiveSet2$inboundSchema = z.object({
    source: z.string(),
    learningObjectiveResults: z.array(z.lazy(() => exports.GetCourseProgressLearningObjectiveResult2$inboundSchema)),
});
/** @internal */
exports.GetCourseProgressLearningObjectiveSet2$outboundSchema = z.object({
    source: z.string(),
    learningObjectiveResults: z.array(z.lazy(() => exports.GetCourseProgressLearningObjectiveResult2$outboundSchema)),
});
/**
 * @internal
 * @deprecated This namespace will be removed in future versions. Use schemas and types that are exported directly from this module.
 */
var GetCourseProgressLearningObjectiveSet2$;
(function (GetCourseProgressLearningObjectiveSet2$) {
    /** @deprecated use `GetCourseProgressLearningObjectiveSet2$inboundSchema` instead. */
    GetCourseProgressLearningObjectiveSet2$.inboundSchema = exports.GetCourseProgressLearningObjectiveSet2$inboundSchema;
    /** @deprecated use `GetCourseProgressLearningObjectiveSet2$outboundSchema` instead. */
    GetCourseProgressLearningObjectiveSet2$.outboundSchema = exports.GetCourseProgressLearningObjectiveSet2$outboundSchema;
})(GetCourseProgressLearningObjectiveSet2$ || (exports.GetCourseProgressLearningObjectiveSet2$ = GetCourseProgressLearningObjectiveSet2$ = {}));
function getCourseProgressLearningObjectiveSet2ToJSON(getCourseProgressLearningObjectiveSet2) {
    return JSON.stringify(exports.GetCourseProgressLearningObjectiveSet2$outboundSchema.parse(getCourseProgressLearningObjectiveSet2));
}
function getCourseProgressLearningObjectiveSet2FromJSON(jsonString) {
    return (0, schemas_js_1.safeParse)(jsonString, (x) => exports.GetCourseProgressLearningObjectiveSet2$inboundSchema.parse(JSON.parse(x)), `Failed to parse 'GetCourseProgressLearningObjectiveSet2' from JSON`);
}
/** @internal */
exports.GetCourseProgressResult2$inboundSchema = z.object({
    sourcedId: z.string().optional(),
    status: exports.GetCourseProgressStatus2$inboundSchema,
    dateLastModified: z.string().datetime({ offset: true }).transform(v => new Date(v)).optional(),
    metadata: z.nullable(z.record(z.any())).optional(),
    score: z.nullable(z.number()).optional(),
    textScore: z.nullable(z.string()).optional(),
    scoreDate: z.string().datetime({ offset: true }).transform(v => new Date(v)),
    scoreScale: z.nullable(z.lazy(() => exports.ScoreScale2$inboundSchema)).optional(),
    scorePercentile: z.nullable(z.number()).optional(),
    scoreStatus: exports.GetCourseProgressScoreStatus2$inboundSchema,
    comment: z.nullable(z.string()).optional(),
    learningObjectiveSet: z.nullable(z.array(z.lazy(() => exports.GetCourseProgressLearningObjectiveSet2$inboundSchema))).optional(),
    inProgress: z.nullable(z.string()).optional(),
    incomplete: z.nullable(z.string()).optional(),
    late: z.nullable(z.string()).optional(),
    missing: z.nullable(z.string()).optional(),
});
/** @internal */
exports.GetCourseProgressResult2$outboundSchema = z.object({
    sourcedId: z.string().optional(),
    status: exports.GetCourseProgressStatus2$outboundSchema,
    dateLastModified: z.date().transform(v => v.toISOString()).optional(),
    metadata: z.nullable(z.record(z.any())).optional(),
    score: z.nullable(z.number()).optional(),
    textScore: z.nullable(z.string()).optional(),
    scoreDate: z.date().transform(v => v.toISOString()),
    scoreScale: z.nullable(z.lazy(() => exports.ScoreScale2$outboundSchema)).optional(),
    scorePercentile: z.nullable(z.number()).optional(),
    scoreStatus: exports.GetCourseProgressScoreStatus2$outboundSchema,
    comment: z.nullable(z.string()).optional(),
    learningObjectiveSet: z.nullable(z.array(z.lazy(() => exports.GetCourseProgressLearningObjectiveSet2$outboundSchema))).optional(),
    inProgress: z.nullable(z.string()).optional(),
    incomplete: z.nullable(z.string()).optional(),
    late: z.nullable(z.string()).optional(),
    missing: z.nullable(z.string()).optional(),
});
/**
 * @internal
 * @deprecated This namespace will be removed in future versions. Use schemas and types that are exported directly from this module.
 */
var GetCourseProgressResult2$;
(function (GetCourseProgressResult2$) {
    /** @deprecated use `GetCourseProgressResult2$inboundSchema` instead. */
    GetCourseProgressResult2$.inboundSchema = exports.GetCourseProgressResult2$inboundSchema;
    /** @deprecated use `GetCourseProgressResult2$outboundSchema` instead. */
    GetCourseProgressResult2$.outboundSchema = exports.GetCourseProgressResult2$outboundSchema;
})(GetCourseProgressResult2$ || (exports.GetCourseProgressResult2$ = GetCourseProgressResult2$ = {}));
function getCourseProgressResult2ToJSON(getCourseProgressResult2) {
    return JSON.stringify(exports.GetCourseProgressResult2$outboundSchema.parse(getCourseProgressResult2));
}
function getCourseProgressResult2FromJSON(jsonString) {
    return (0, schemas_js_1.safeParse)(jsonString, (x) => exports.GetCourseProgressResult2$inboundSchema.parse(JSON.parse(x)), `Failed to parse 'GetCourseProgressResult2' from JSON`);
}
/** @internal */
exports.LineItemResource$inboundSchema = z.object({
    type: z.literal("resource").default("resource").optional(),
    assessmentLineItemSourcedId: z.string(),
    courseComponentResourceSourcedId: z.string(),
    title: z.string(),
    results: z.array(z.lazy(() => exports.GetCourseProgressResult2$inboundSchema)),
});
/** @internal */
exports.LineItemResource$outboundSchema = z.object({
    type: z.literal("resource").default("resource"),
    assessmentLineItemSourcedId: z.string(),
    courseComponentResourceSourcedId: z.string(),
    title: z.string(),
    results: z.array(z.lazy(() => exports.GetCourseProgressResult2$outboundSchema)),
});
/**
 * @internal
 * @deprecated This namespace will be removed in future versions. Use schemas and types that are exported directly from this module.
 */
var LineItemResource$;
(function (LineItemResource$) {
    /** @deprecated use `LineItemResource$inboundSchema` instead. */
    LineItemResource$.inboundSchema = exports.LineItemResource$inboundSchema;
    /** @deprecated use `LineItemResource$outboundSchema` instead. */
    LineItemResource$.outboundSchema = exports.LineItemResource$outboundSchema;
})(LineItemResource$ || (exports.LineItemResource$ = LineItemResource$ = {}));
function lineItemResourceToJSON(lineItemResource) {
    return JSON.stringify(exports.LineItemResource$outboundSchema.parse(lineItemResource));
}
function lineItemResourceFromJSON(jsonString) {
    return (0, schemas_js_1.safeParse)(jsonString, (x) => exports.LineItemResource$inboundSchema.parse(JSON.parse(x)), `Failed to parse 'LineItemResource' from JSON`);
}
/** @internal */
exports.GetCourseProgressStatus1$inboundSchema = z.nativeEnum(exports.GetCourseProgressStatus1);
/** @internal */
exports.GetCourseProgressStatus1$outboundSchema = exports.GetCourseProgressStatus1$inboundSchema;
/**
 * @internal
 * @deprecated This namespace will be removed in future versions. Use schemas and types that are exported directly from this module.
 */
var GetCourseProgressStatus1$;
(function (GetCourseProgressStatus1$) {
    /** @deprecated use `GetCourseProgressStatus1$inboundSchema` instead. */
    GetCourseProgressStatus1$.inboundSchema = exports.GetCourseProgressStatus1$inboundSchema;
    /** @deprecated use `GetCourseProgressStatus1$outboundSchema` instead. */
    GetCourseProgressStatus1$.outboundSchema = exports.GetCourseProgressStatus1$outboundSchema;
})(GetCourseProgressStatus1$ || (exports.GetCourseProgressStatus1$ = GetCourseProgressStatus1$ = {}));
/** @internal */
exports.ScoreScale1$inboundSchema = z.object({
    sourcedId: z.string(),
});
/** @internal */
exports.ScoreScale1$outboundSchema = z.object({
    sourcedId: z.string(),
});
/**
 * @internal
 * @deprecated This namespace will be removed in future versions. Use schemas and types that are exported directly from this module.
 */
var ScoreScale1$;
(function (ScoreScale1$) {
    /** @deprecated use `ScoreScale1$inboundSchema` instead. */
    ScoreScale1$.inboundSchema = exports.ScoreScale1$inboundSchema;
    /** @deprecated use `ScoreScale1$outboundSchema` instead. */
    ScoreScale1$.outboundSchema = exports.ScoreScale1$outboundSchema;
})(ScoreScale1$ || (exports.ScoreScale1$ = ScoreScale1$ = {}));
function scoreScale1ToJSON(scoreScale1) {
    return JSON.stringify(exports.ScoreScale1$outboundSchema.parse(scoreScale1));
}
function scoreScale1FromJSON(jsonString) {
    return (0, schemas_js_1.safeParse)(jsonString, (x) => exports.ScoreScale1$inboundSchema.parse(JSON.parse(x)), `Failed to parse 'ScoreScale1' from JSON`);
}
/** @internal */
exports.GetCourseProgressScoreStatus1$inboundSchema = z.nativeEnum(exports.GetCourseProgressScoreStatus1);
/** @internal */
exports.GetCourseProgressScoreStatus1$outboundSchema = exports.GetCourseProgressScoreStatus1$inboundSchema;
/**
 * @internal
 * @deprecated This namespace will be removed in future versions. Use schemas and types that are exported directly from this module.
 */
var GetCourseProgressScoreStatus1$;
(function (GetCourseProgressScoreStatus1$) {
    /** @deprecated use `GetCourseProgressScoreStatus1$inboundSchema` instead. */
    GetCourseProgressScoreStatus1$.inboundSchema = exports.GetCourseProgressScoreStatus1$inboundSchema;
    /** @deprecated use `GetCourseProgressScoreStatus1$outboundSchema` instead. */
    GetCourseProgressScoreStatus1$.outboundSchema = exports.GetCourseProgressScoreStatus1$outboundSchema;
})(GetCourseProgressScoreStatus1$ || (exports.GetCourseProgressScoreStatus1$ = GetCourseProgressScoreStatus1$ = {}));
/** @internal */
exports.GetCourseProgressLearningObjectiveResult1$inboundSchema = z.object({
    learningObjectiveId: z.string(),
    score: z.number().optional(),
    textScore: z.string().optional(),
});
/** @internal */
exports.GetCourseProgressLearningObjectiveResult1$outboundSchema = z.object({
    learningObjectiveId: z.string(),
    score: z.number().optional(),
    textScore: z.string().optional(),
});
/**
 * @internal
 * @deprecated This namespace will be removed in future versions. Use schemas and types that are exported directly from this module.
 */
var GetCourseProgressLearningObjectiveResult1$;
(function (GetCourseProgressLearningObjectiveResult1$) {
    /** @deprecated use `GetCourseProgressLearningObjectiveResult1$inboundSchema` instead. */
    GetCourseProgressLearningObjectiveResult1$.inboundSchema = exports.GetCourseProgressLearningObjectiveResult1$inboundSchema;
    /** @deprecated use `GetCourseProgressLearningObjectiveResult1$outboundSchema` instead. */
    GetCourseProgressLearningObjectiveResult1$.outboundSchema = exports.GetCourseProgressLearningObjectiveResult1$outboundSchema;
})(GetCourseProgressLearningObjectiveResult1$ || (exports.GetCourseProgressLearningObjectiveResult1$ = GetCourseProgressLearningObjectiveResult1$ = {}));
function getCourseProgressLearningObjectiveResult1ToJSON(getCourseProgressLearningObjectiveResult1) {
    return JSON.stringify(exports.GetCourseProgressLearningObjectiveResult1$outboundSchema.parse(getCourseProgressLearningObjectiveResult1));
}
function getCourseProgressLearningObjectiveResult1FromJSON(jsonString) {
    return (0, schemas_js_1.safeParse)(jsonString, (x) => exports.GetCourseProgressLearningObjectiveResult1$inboundSchema.parse(JSON.parse(x)), `Failed to parse 'GetCourseProgressLearningObjectiveResult1' from JSON`);
}
/** @internal */
exports.GetCourseProgressLearningObjectiveSet1$inboundSchema = z.object({
    source: z.string(),
    learningObjectiveResults: z.array(z.lazy(() => exports.GetCourseProgressLearningObjectiveResult1$inboundSchema)),
});
/** @internal */
exports.GetCourseProgressLearningObjectiveSet1$outboundSchema = z.object({
    source: z.string(),
    learningObjectiveResults: z.array(z.lazy(() => exports.GetCourseProgressLearningObjectiveResult1$outboundSchema)),
});
/**
 * @internal
 * @deprecated This namespace will be removed in future versions. Use schemas and types that are exported directly from this module.
 */
var GetCourseProgressLearningObjectiveSet1$;
(function (GetCourseProgressLearningObjectiveSet1$) {
    /** @deprecated use `GetCourseProgressLearningObjectiveSet1$inboundSchema` instead. */
    GetCourseProgressLearningObjectiveSet1$.inboundSchema = exports.GetCourseProgressLearningObjectiveSet1$inboundSchema;
    /** @deprecated use `GetCourseProgressLearningObjectiveSet1$outboundSchema` instead. */
    GetCourseProgressLearningObjectiveSet1$.outboundSchema = exports.GetCourseProgressLearningObjectiveSet1$outboundSchema;
})(GetCourseProgressLearningObjectiveSet1$ || (exports.GetCourseProgressLearningObjectiveSet1$ = GetCourseProgressLearningObjectiveSet1$ = {}));
function getCourseProgressLearningObjectiveSet1ToJSON(getCourseProgressLearningObjectiveSet1) {
    return JSON.stringify(exports.GetCourseProgressLearningObjectiveSet1$outboundSchema.parse(getCourseProgressLearningObjectiveSet1));
}
function getCourseProgressLearningObjectiveSet1FromJSON(jsonString) {
    return (0, schemas_js_1.safeParse)(jsonString, (x) => exports.GetCourseProgressLearningObjectiveSet1$inboundSchema.parse(JSON.parse(x)), `Failed to parse 'GetCourseProgressLearningObjectiveSet1' from JSON`);
}
/** @internal */
exports.GetCourseProgressResult1$inboundSchema = z.object({
    sourcedId: z.string().optional(),
    status: exports.GetCourseProgressStatus1$inboundSchema,
    dateLastModified: z.string().datetime({ offset: true }).transform(v => new Date(v)).optional(),
    metadata: z.nullable(z.record(z.any())).optional(),
    score: z.nullable(z.number()).optional(),
    textScore: z.nullable(z.string()).optional(),
    scoreDate: z.string().datetime({ offset: true }).transform(v => new Date(v)),
    scoreScale: z.nullable(z.lazy(() => exports.ScoreScale1$inboundSchema)).optional(),
    scorePercentile: z.nullable(z.number()).optional(),
    scoreStatus: exports.GetCourseProgressScoreStatus1$inboundSchema,
    comment: z.nullable(z.string()).optional(),
    learningObjectiveSet: z.nullable(z.array(z.lazy(() => exports.GetCourseProgressLearningObjectiveSet1$inboundSchema))).optional(),
    inProgress: z.nullable(z.string()).optional(),
    incomplete: z.nullable(z.string()).optional(),
    late: z.nullable(z.string()).optional(),
    missing: z.nullable(z.string()).optional(),
});
/** @internal */
exports.GetCourseProgressResult1$outboundSchema = z.object({
    sourcedId: z.string().optional(),
    status: exports.GetCourseProgressStatus1$outboundSchema,
    dateLastModified: z.date().transform(v => v.toISOString()).optional(),
    metadata: z.nullable(z.record(z.any())).optional(),
    score: z.nullable(z.number()).optional(),
    textScore: z.nullable(z.string()).optional(),
    scoreDate: z.date().transform(v => v.toISOString()),
    scoreScale: z.nullable(z.lazy(() => exports.ScoreScale1$outboundSchema)).optional(),
    scorePercentile: z.nullable(z.number()).optional(),
    scoreStatus: exports.GetCourseProgressScoreStatus1$outboundSchema,
    comment: z.nullable(z.string()).optional(),
    learningObjectiveSet: z.nullable(z.array(z.lazy(() => exports.GetCourseProgressLearningObjectiveSet1$outboundSchema))).optional(),
    inProgress: z.nullable(z.string()).optional(),
    incomplete: z.nullable(z.string()).optional(),
    late: z.nullable(z.string()).optional(),
    missing: z.nullable(z.string()).optional(),
});
/**
 * @internal
 * @deprecated This namespace will be removed in future versions. Use schemas and types that are exported directly from this module.
 */
var GetCourseProgressResult1$;
(function (GetCourseProgressResult1$) {
    /** @deprecated use `GetCourseProgressResult1$inboundSchema` instead. */
    GetCourseProgressResult1$.inboundSchema = exports.GetCourseProgressResult1$inboundSchema;
    /** @deprecated use `GetCourseProgressResult1$outboundSchema` instead. */
    GetCourseProgressResult1$.outboundSchema = exports.GetCourseProgressResult1$outboundSchema;
})(GetCourseProgressResult1$ || (exports.GetCourseProgressResult1$ = GetCourseProgressResult1$ = {}));
function getCourseProgressResult1ToJSON(getCourseProgressResult1) {
    return JSON.stringify(exports.GetCourseProgressResult1$outboundSchema.parse(getCourseProgressResult1));
}
function getCourseProgressResult1FromJSON(jsonString) {
    return (0, schemas_js_1.safeParse)(jsonString, (x) => exports.GetCourseProgressResult1$inboundSchema.parse(JSON.parse(x)), `Failed to parse 'GetCourseProgressResult1' from JSON`);
}
/** @internal */
exports.LineItemComponent$inboundSchema = z.object({
    type: z.literal("component").default("component").optional(),
    assessmentLineItemSourcedId: z.string(),
    courseComponentSourcedId: z.string(),
    title: z.string(),
    results: z.array(z.lazy(() => exports.GetCourseProgressResult1$inboundSchema)),
});
/** @internal */
exports.LineItemComponent$outboundSchema = z.object({
    type: z.literal("component").default("component"),
    assessmentLineItemSourcedId: z.string(),
    courseComponentSourcedId: z.string(),
    title: z.string(),
    results: z.array(z.lazy(() => exports.GetCourseProgressResult1$outboundSchema)),
});
/**
 * @internal
 * @deprecated This namespace will be removed in future versions. Use schemas and types that are exported directly from this module.
 */
var LineItemComponent$;
(function (LineItemComponent$) {
    /** @deprecated use `LineItemComponent$inboundSchema` instead. */
    LineItemComponent$.inboundSchema = exports.LineItemComponent$inboundSchema;
    /** @deprecated use `LineItemComponent$outboundSchema` instead. */
    LineItemComponent$.outboundSchema = exports.LineItemComponent$outboundSchema;
})(LineItemComponent$ || (exports.LineItemComponent$ = LineItemComponent$ = {}));
function lineItemComponentToJSON(lineItemComponent) {
    return JSON.stringify(exports.LineItemComponent$outboundSchema.parse(lineItemComponent));
}
function lineItemComponentFromJSON(jsonString) {
    return (0, schemas_js_1.safeParse)(jsonString, (x) => exports.LineItemComponent$inboundSchema.parse(JSON.parse(x)), `Failed to parse 'LineItemComponent' from JSON`);
}
/** @internal */
exports.LineItem$inboundSchema = z.union([
    z.lazy(() => exports.LineItemComponent$inboundSchema),
    z.lazy(() => exports.LineItemResource$inboundSchema),
]);
/** @internal */
exports.LineItem$outboundSchema = z.union([
    z.lazy(() => exports.LineItemComponent$outboundSchema),
    z.lazy(() => exports.LineItemResource$outboundSchema),
]);
/**
 * @internal
 * @deprecated This namespace will be removed in future versions. Use schemas and types that are exported directly from this module.
 */
var LineItem$;
(function (LineItem$) {
    /** @deprecated use `LineItem$inboundSchema` instead. */
    LineItem$.inboundSchema = exports.LineItem$inboundSchema;
    /** @deprecated use `LineItem$outboundSchema` instead. */
    LineItem$.outboundSchema = exports.LineItem$outboundSchema;
})(LineItem$ || (exports.LineItem$ = LineItem$ = {}));
function lineItemToJSON(lineItem) {
    return JSON.stringify(exports.LineItem$outboundSchema.parse(lineItem));
}
function lineItemFromJSON(jsonString) {
    return (0, schemas_js_1.safeParse)(jsonString, (x) => exports.LineItem$inboundSchema.parse(JSON.parse(x)), `Failed to parse 'LineItem' from JSON`);
}
/** @internal */
exports.GetCourseProgressResponse$inboundSchema = z.object({
    lineItems: z.array(z.union([
        z.lazy(() => exports.LineItemComponent$inboundSchema),
        z.lazy(() => exports.LineItemResource$inboundSchema),
    ])),
});
/** @internal */
exports.GetCourseProgressResponse$outboundSchema = z.object({
    lineItems: z.array(z.union([
        z.lazy(() => exports.LineItemComponent$outboundSchema),
        z.lazy(() => exports.LineItemResource$outboundSchema),
    ])),
});
/**
 * @internal
 * @deprecated This namespace will be removed in future versions. Use schemas and types that are exported directly from this module.
 */
var GetCourseProgressResponse$;
(function (GetCourseProgressResponse$) {
    /** @deprecated use `GetCourseProgressResponse$inboundSchema` instead. */
    GetCourseProgressResponse$.inboundSchema = exports.GetCourseProgressResponse$inboundSchema;
    /** @deprecated use `GetCourseProgressResponse$outboundSchema` instead. */
    GetCourseProgressResponse$.outboundSchema = exports.GetCourseProgressResponse$outboundSchema;
})(GetCourseProgressResponse$ || (exports.GetCourseProgressResponse$ = GetCourseProgressResponse$ = {}));
function getCourseProgressResponseToJSON(getCourseProgressResponse) {
    return JSON.stringify(exports.GetCourseProgressResponse$outboundSchema.parse(getCourseProgressResponse));
}
function getCourseProgressResponseFromJSON(jsonString) {
    return (0, schemas_js_1.safeParse)(jsonString, (x) => exports.GetCourseProgressResponse$inboundSchema.parse(JSON.parse(x)), `Failed to parse 'GetCourseProgressResponse' from JSON`);
}
//# sourceMappingURL=getcourseprogress.js.map