/*
 * Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT.
 */
import * as z from "zod";
import { safeParse } from "../../lib/schemas.js";
export const GetCourseProgressStatus2 = {
    Active: "active",
    Tobedeleted: "tobedeleted",
};
export const GetCourseProgressScoreStatus2 = {
    Exempt: "exempt",
    FullyGraded: "fully graded",
    NotSubmitted: "not submitted",
    PartiallyGraded: "partially graded",
    Submitted: "submitted",
};
export const GetCourseProgressStatus1 = {
    Active: "active",
    Tobedeleted: "tobedeleted",
};
export const GetCourseProgressScoreStatus1 = {
    Exempt: "exempt",
    FullyGraded: "fully graded",
    NotSubmitted: "not submitted",
    PartiallyGraded: "partially graded",
    Submitted: "submitted",
};
/** @internal */
export const GetCourseProgressRequest$inboundSchema = z.object({
    courseId: z.string(),
    studentId: z.string(),
});
/** @internal */
export const 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.
 */
export var GetCourseProgressRequest$;
(function (GetCourseProgressRequest$) {
    /** @deprecated use `GetCourseProgressRequest$inboundSchema` instead. */
    GetCourseProgressRequest$.inboundSchema = GetCourseProgressRequest$inboundSchema;
    /** @deprecated use `GetCourseProgressRequest$outboundSchema` instead. */
    GetCourseProgressRequest$.outboundSchema = GetCourseProgressRequest$outboundSchema;
})(GetCourseProgressRequest$ || (GetCourseProgressRequest$ = {}));
export function getCourseProgressRequestToJSON(getCourseProgressRequest) {
    return JSON.stringify(GetCourseProgressRequest$outboundSchema.parse(getCourseProgressRequest));
}
export function getCourseProgressRequestFromJSON(jsonString) {
    return safeParse(jsonString, (x) => GetCourseProgressRequest$inboundSchema.parse(JSON.parse(x)), `Failed to parse 'GetCourseProgressRequest' from JSON`);
}
/** @internal */
export const GetCourseProgressStatus2$inboundSchema = z.nativeEnum(GetCourseProgressStatus2);
/** @internal */
export const GetCourseProgressStatus2$outboundSchema = GetCourseProgressStatus2$inboundSchema;
/**
 * @internal
 * @deprecated This namespace will be removed in future versions. Use schemas and types that are exported directly from this module.
 */
export var GetCourseProgressStatus2$;
(function (GetCourseProgressStatus2$) {
    /** @deprecated use `GetCourseProgressStatus2$inboundSchema` instead. */
    GetCourseProgressStatus2$.inboundSchema = GetCourseProgressStatus2$inboundSchema;
    /** @deprecated use `GetCourseProgressStatus2$outboundSchema` instead. */
    GetCourseProgressStatus2$.outboundSchema = GetCourseProgressStatus2$outboundSchema;
})(GetCourseProgressStatus2$ || (GetCourseProgressStatus2$ = {}));
/** @internal */
export const ScoreScale2$inboundSchema = z.object({
    sourcedId: z.string(),
});
/** @internal */
export const 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.
 */
export var ScoreScale2$;
(function (ScoreScale2$) {
    /** @deprecated use `ScoreScale2$inboundSchema` instead. */
    ScoreScale2$.inboundSchema = ScoreScale2$inboundSchema;
    /** @deprecated use `ScoreScale2$outboundSchema` instead. */
    ScoreScale2$.outboundSchema = ScoreScale2$outboundSchema;
})(ScoreScale2$ || (ScoreScale2$ = {}));
export function scoreScale2ToJSON(scoreScale2) {
    return JSON.stringify(ScoreScale2$outboundSchema.parse(scoreScale2));
}
export function scoreScale2FromJSON(jsonString) {
    return safeParse(jsonString, (x) => ScoreScale2$inboundSchema.parse(JSON.parse(x)), `Failed to parse 'ScoreScale2' from JSON`);
}
/** @internal */
export const GetCourseProgressScoreStatus2$inboundSchema = z.nativeEnum(GetCourseProgressScoreStatus2);
/** @internal */
export const GetCourseProgressScoreStatus2$outboundSchema = GetCourseProgressScoreStatus2$inboundSchema;
/**
 * @internal
 * @deprecated This namespace will be removed in future versions. Use schemas and types that are exported directly from this module.
 */
export var GetCourseProgressScoreStatus2$;
(function (GetCourseProgressScoreStatus2$) {
    /** @deprecated use `GetCourseProgressScoreStatus2$inboundSchema` instead. */
    GetCourseProgressScoreStatus2$.inboundSchema = GetCourseProgressScoreStatus2$inboundSchema;
    /** @deprecated use `GetCourseProgressScoreStatus2$outboundSchema` instead. */
    GetCourseProgressScoreStatus2$.outboundSchema = GetCourseProgressScoreStatus2$outboundSchema;
})(GetCourseProgressScoreStatus2$ || (GetCourseProgressScoreStatus2$ = {}));
/** @internal */
export const GetCourseProgressLearningObjectiveResult2$inboundSchema = z.object({
    learningObjectiveId: z.string(),
    score: z.number().optional(),
    textScore: z.string().optional(),
});
/** @internal */
export const 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.
 */
export var GetCourseProgressLearningObjectiveResult2$;
(function (GetCourseProgressLearningObjectiveResult2$) {
    /** @deprecated use `GetCourseProgressLearningObjectiveResult2$inboundSchema` instead. */
    GetCourseProgressLearningObjectiveResult2$.inboundSchema = GetCourseProgressLearningObjectiveResult2$inboundSchema;
    /** @deprecated use `GetCourseProgressLearningObjectiveResult2$outboundSchema` instead. */
    GetCourseProgressLearningObjectiveResult2$.outboundSchema = GetCourseProgressLearningObjectiveResult2$outboundSchema;
})(GetCourseProgressLearningObjectiveResult2$ || (GetCourseProgressLearningObjectiveResult2$ = {}));
export function getCourseProgressLearningObjectiveResult2ToJSON(getCourseProgressLearningObjectiveResult2) {
    return JSON.stringify(GetCourseProgressLearningObjectiveResult2$outboundSchema.parse(getCourseProgressLearningObjectiveResult2));
}
export function getCourseProgressLearningObjectiveResult2FromJSON(jsonString) {
    return safeParse(jsonString, (x) => GetCourseProgressLearningObjectiveResult2$inboundSchema.parse(JSON.parse(x)), `Failed to parse 'GetCourseProgressLearningObjectiveResult2' from JSON`);
}
/** @internal */
export const GetCourseProgressLearningObjectiveSet2$inboundSchema = z.object({
    source: z.string(),
    learningObjectiveResults: z.array(z.lazy(() => GetCourseProgressLearningObjectiveResult2$inboundSchema)),
});
/** @internal */
export const GetCourseProgressLearningObjectiveSet2$outboundSchema = z.object({
    source: z.string(),
    learningObjectiveResults: z.array(z.lazy(() => GetCourseProgressLearningObjectiveResult2$outboundSchema)),
});
/**
 * @internal
 * @deprecated This namespace will be removed in future versions. Use schemas and types that are exported directly from this module.
 */
export var GetCourseProgressLearningObjectiveSet2$;
(function (GetCourseProgressLearningObjectiveSet2$) {
    /** @deprecated use `GetCourseProgressLearningObjectiveSet2$inboundSchema` instead. */
    GetCourseProgressLearningObjectiveSet2$.inboundSchema = GetCourseProgressLearningObjectiveSet2$inboundSchema;
    /** @deprecated use `GetCourseProgressLearningObjectiveSet2$outboundSchema` instead. */
    GetCourseProgressLearningObjectiveSet2$.outboundSchema = GetCourseProgressLearningObjectiveSet2$outboundSchema;
})(GetCourseProgressLearningObjectiveSet2$ || (GetCourseProgressLearningObjectiveSet2$ = {}));
export function getCourseProgressLearningObjectiveSet2ToJSON(getCourseProgressLearningObjectiveSet2) {
    return JSON.stringify(GetCourseProgressLearningObjectiveSet2$outboundSchema.parse(getCourseProgressLearningObjectiveSet2));
}
export function getCourseProgressLearningObjectiveSet2FromJSON(jsonString) {
    return safeParse(jsonString, (x) => GetCourseProgressLearningObjectiveSet2$inboundSchema.parse(JSON.parse(x)), `Failed to parse 'GetCourseProgressLearningObjectiveSet2' from JSON`);
}
/** @internal */
export const GetCourseProgressResult2$inboundSchema = z.object({
    sourcedId: z.string().optional(),
    status: 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(() => ScoreScale2$inboundSchema)).optional(),
    scorePercentile: z.nullable(z.number()).optional(),
    scoreStatus: GetCourseProgressScoreStatus2$inboundSchema,
    comment: z.nullable(z.string()).optional(),
    learningObjectiveSet: z.nullable(z.array(z.lazy(() => 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 */
export const GetCourseProgressResult2$outboundSchema = z.object({
    sourcedId: z.string().optional(),
    status: 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(() => ScoreScale2$outboundSchema)).optional(),
    scorePercentile: z.nullable(z.number()).optional(),
    scoreStatus: GetCourseProgressScoreStatus2$outboundSchema,
    comment: z.nullable(z.string()).optional(),
    learningObjectiveSet: z.nullable(z.array(z.lazy(() => 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.
 */
export var GetCourseProgressResult2$;
(function (GetCourseProgressResult2$) {
    /** @deprecated use `GetCourseProgressResult2$inboundSchema` instead. */
    GetCourseProgressResult2$.inboundSchema = GetCourseProgressResult2$inboundSchema;
    /** @deprecated use `GetCourseProgressResult2$outboundSchema` instead. */
    GetCourseProgressResult2$.outboundSchema = GetCourseProgressResult2$outboundSchema;
})(GetCourseProgressResult2$ || (GetCourseProgressResult2$ = {}));
export function getCourseProgressResult2ToJSON(getCourseProgressResult2) {
    return JSON.stringify(GetCourseProgressResult2$outboundSchema.parse(getCourseProgressResult2));
}
export function getCourseProgressResult2FromJSON(jsonString) {
    return safeParse(jsonString, (x) => GetCourseProgressResult2$inboundSchema.parse(JSON.parse(x)), `Failed to parse 'GetCourseProgressResult2' from JSON`);
}
/** @internal */
export const 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(() => GetCourseProgressResult2$inboundSchema)),
});
/** @internal */
export const LineItemResource$outboundSchema = z.object({
    type: z.literal("resource").default("resource"),
    assessmentLineItemSourcedId: z.string(),
    courseComponentResourceSourcedId: z.string(),
    title: z.string(),
    results: z.array(z.lazy(() => GetCourseProgressResult2$outboundSchema)),
});
/**
 * @internal
 * @deprecated This namespace will be removed in future versions. Use schemas and types that are exported directly from this module.
 */
export var LineItemResource$;
(function (LineItemResource$) {
    /** @deprecated use `LineItemResource$inboundSchema` instead. */
    LineItemResource$.inboundSchema = LineItemResource$inboundSchema;
    /** @deprecated use `LineItemResource$outboundSchema` instead. */
    LineItemResource$.outboundSchema = LineItemResource$outboundSchema;
})(LineItemResource$ || (LineItemResource$ = {}));
export function lineItemResourceToJSON(lineItemResource) {
    return JSON.stringify(LineItemResource$outboundSchema.parse(lineItemResource));
}
export function lineItemResourceFromJSON(jsonString) {
    return safeParse(jsonString, (x) => LineItemResource$inboundSchema.parse(JSON.parse(x)), `Failed to parse 'LineItemResource' from JSON`);
}
/** @internal */
export const GetCourseProgressStatus1$inboundSchema = z.nativeEnum(GetCourseProgressStatus1);
/** @internal */
export const GetCourseProgressStatus1$outboundSchema = GetCourseProgressStatus1$inboundSchema;
/**
 * @internal
 * @deprecated This namespace will be removed in future versions. Use schemas and types that are exported directly from this module.
 */
export var GetCourseProgressStatus1$;
(function (GetCourseProgressStatus1$) {
    /** @deprecated use `GetCourseProgressStatus1$inboundSchema` instead. */
    GetCourseProgressStatus1$.inboundSchema = GetCourseProgressStatus1$inboundSchema;
    /** @deprecated use `GetCourseProgressStatus1$outboundSchema` instead. */
    GetCourseProgressStatus1$.outboundSchema = GetCourseProgressStatus1$outboundSchema;
})(GetCourseProgressStatus1$ || (GetCourseProgressStatus1$ = {}));
/** @internal */
export const ScoreScale1$inboundSchema = z.object({
    sourcedId: z.string(),
});
/** @internal */
export const 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.
 */
export var ScoreScale1$;
(function (ScoreScale1$) {
    /** @deprecated use `ScoreScale1$inboundSchema` instead. */
    ScoreScale1$.inboundSchema = ScoreScale1$inboundSchema;
    /** @deprecated use `ScoreScale1$outboundSchema` instead. */
    ScoreScale1$.outboundSchema = ScoreScale1$outboundSchema;
})(ScoreScale1$ || (ScoreScale1$ = {}));
export function scoreScale1ToJSON(scoreScale1) {
    return JSON.stringify(ScoreScale1$outboundSchema.parse(scoreScale1));
}
export function scoreScale1FromJSON(jsonString) {
    return safeParse(jsonString, (x) => ScoreScale1$inboundSchema.parse(JSON.parse(x)), `Failed to parse 'ScoreScale1' from JSON`);
}
/** @internal */
export const GetCourseProgressScoreStatus1$inboundSchema = z.nativeEnum(GetCourseProgressScoreStatus1);
/** @internal */
export const GetCourseProgressScoreStatus1$outboundSchema = GetCourseProgressScoreStatus1$inboundSchema;
/**
 * @internal
 * @deprecated This namespace will be removed in future versions. Use schemas and types that are exported directly from this module.
 */
export var GetCourseProgressScoreStatus1$;
(function (GetCourseProgressScoreStatus1$) {
    /** @deprecated use `GetCourseProgressScoreStatus1$inboundSchema` instead. */
    GetCourseProgressScoreStatus1$.inboundSchema = GetCourseProgressScoreStatus1$inboundSchema;
    /** @deprecated use `GetCourseProgressScoreStatus1$outboundSchema` instead. */
    GetCourseProgressScoreStatus1$.outboundSchema = GetCourseProgressScoreStatus1$outboundSchema;
})(GetCourseProgressScoreStatus1$ || (GetCourseProgressScoreStatus1$ = {}));
/** @internal */
export const GetCourseProgressLearningObjectiveResult1$inboundSchema = z.object({
    learningObjectiveId: z.string(),
    score: z.number().optional(),
    textScore: z.string().optional(),
});
/** @internal */
export const 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.
 */
export var GetCourseProgressLearningObjectiveResult1$;
(function (GetCourseProgressLearningObjectiveResult1$) {
    /** @deprecated use `GetCourseProgressLearningObjectiveResult1$inboundSchema` instead. */
    GetCourseProgressLearningObjectiveResult1$.inboundSchema = GetCourseProgressLearningObjectiveResult1$inboundSchema;
    /** @deprecated use `GetCourseProgressLearningObjectiveResult1$outboundSchema` instead. */
    GetCourseProgressLearningObjectiveResult1$.outboundSchema = GetCourseProgressLearningObjectiveResult1$outboundSchema;
})(GetCourseProgressLearningObjectiveResult1$ || (GetCourseProgressLearningObjectiveResult1$ = {}));
export function getCourseProgressLearningObjectiveResult1ToJSON(getCourseProgressLearningObjectiveResult1) {
    return JSON.stringify(GetCourseProgressLearningObjectiveResult1$outboundSchema.parse(getCourseProgressLearningObjectiveResult1));
}
export function getCourseProgressLearningObjectiveResult1FromJSON(jsonString) {
    return safeParse(jsonString, (x) => GetCourseProgressLearningObjectiveResult1$inboundSchema.parse(JSON.parse(x)), `Failed to parse 'GetCourseProgressLearningObjectiveResult1' from JSON`);
}
/** @internal */
export const GetCourseProgressLearningObjectiveSet1$inboundSchema = z.object({
    source: z.string(),
    learningObjectiveResults: z.array(z.lazy(() => GetCourseProgressLearningObjectiveResult1$inboundSchema)),
});
/** @internal */
export const GetCourseProgressLearningObjectiveSet1$outboundSchema = z.object({
    source: z.string(),
    learningObjectiveResults: z.array(z.lazy(() => GetCourseProgressLearningObjectiveResult1$outboundSchema)),
});
/**
 * @internal
 * @deprecated This namespace will be removed in future versions. Use schemas and types that are exported directly from this module.
 */
export var GetCourseProgressLearningObjectiveSet1$;
(function (GetCourseProgressLearningObjectiveSet1$) {
    /** @deprecated use `GetCourseProgressLearningObjectiveSet1$inboundSchema` instead. */
    GetCourseProgressLearningObjectiveSet1$.inboundSchema = GetCourseProgressLearningObjectiveSet1$inboundSchema;
    /** @deprecated use `GetCourseProgressLearningObjectiveSet1$outboundSchema` instead. */
    GetCourseProgressLearningObjectiveSet1$.outboundSchema = GetCourseProgressLearningObjectiveSet1$outboundSchema;
})(GetCourseProgressLearningObjectiveSet1$ || (GetCourseProgressLearningObjectiveSet1$ = {}));
export function getCourseProgressLearningObjectiveSet1ToJSON(getCourseProgressLearningObjectiveSet1) {
    return JSON.stringify(GetCourseProgressLearningObjectiveSet1$outboundSchema.parse(getCourseProgressLearningObjectiveSet1));
}
export function getCourseProgressLearningObjectiveSet1FromJSON(jsonString) {
    return safeParse(jsonString, (x) => GetCourseProgressLearningObjectiveSet1$inboundSchema.parse(JSON.parse(x)), `Failed to parse 'GetCourseProgressLearningObjectiveSet1' from JSON`);
}
/** @internal */
export const GetCourseProgressResult1$inboundSchema = z.object({
    sourcedId: z.string().optional(),
    status: 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(() => ScoreScale1$inboundSchema)).optional(),
    scorePercentile: z.nullable(z.number()).optional(),
    scoreStatus: GetCourseProgressScoreStatus1$inboundSchema,
    comment: z.nullable(z.string()).optional(),
    learningObjectiveSet: z.nullable(z.array(z.lazy(() => 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 */
export const GetCourseProgressResult1$outboundSchema = z.object({
    sourcedId: z.string().optional(),
    status: 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(() => ScoreScale1$outboundSchema)).optional(),
    scorePercentile: z.nullable(z.number()).optional(),
    scoreStatus: GetCourseProgressScoreStatus1$outboundSchema,
    comment: z.nullable(z.string()).optional(),
    learningObjectiveSet: z.nullable(z.array(z.lazy(() => 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.
 */
export var GetCourseProgressResult1$;
(function (GetCourseProgressResult1$) {
    /** @deprecated use `GetCourseProgressResult1$inboundSchema` instead. */
    GetCourseProgressResult1$.inboundSchema = GetCourseProgressResult1$inboundSchema;
    /** @deprecated use `GetCourseProgressResult1$outboundSchema` instead. */
    GetCourseProgressResult1$.outboundSchema = GetCourseProgressResult1$outboundSchema;
})(GetCourseProgressResult1$ || (GetCourseProgressResult1$ = {}));
export function getCourseProgressResult1ToJSON(getCourseProgressResult1) {
    return JSON.stringify(GetCourseProgressResult1$outboundSchema.parse(getCourseProgressResult1));
}
export function getCourseProgressResult1FromJSON(jsonString) {
    return safeParse(jsonString, (x) => GetCourseProgressResult1$inboundSchema.parse(JSON.parse(x)), `Failed to parse 'GetCourseProgressResult1' from JSON`);
}
/** @internal */
export const 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(() => GetCourseProgressResult1$inboundSchema)),
});
/** @internal */
export const LineItemComponent$outboundSchema = z.object({
    type: z.literal("component").default("component"),
    assessmentLineItemSourcedId: z.string(),
    courseComponentSourcedId: z.string(),
    title: z.string(),
    results: z.array(z.lazy(() => GetCourseProgressResult1$outboundSchema)),
});
/**
 * @internal
 * @deprecated This namespace will be removed in future versions. Use schemas and types that are exported directly from this module.
 */
export var LineItemComponent$;
(function (LineItemComponent$) {
    /** @deprecated use `LineItemComponent$inboundSchema` instead. */
    LineItemComponent$.inboundSchema = LineItemComponent$inboundSchema;
    /** @deprecated use `LineItemComponent$outboundSchema` instead. */
    LineItemComponent$.outboundSchema = LineItemComponent$outboundSchema;
})(LineItemComponent$ || (LineItemComponent$ = {}));
export function lineItemComponentToJSON(lineItemComponent) {
    return JSON.stringify(LineItemComponent$outboundSchema.parse(lineItemComponent));
}
export function lineItemComponentFromJSON(jsonString) {
    return safeParse(jsonString, (x) => LineItemComponent$inboundSchema.parse(JSON.parse(x)), `Failed to parse 'LineItemComponent' from JSON`);
}
/** @internal */
export const LineItem$inboundSchema = z.union([
    z.lazy(() => LineItemComponent$inboundSchema),
    z.lazy(() => LineItemResource$inboundSchema),
]);
/** @internal */
export const LineItem$outboundSchema = z.union([
    z.lazy(() => LineItemComponent$outboundSchema),
    z.lazy(() => LineItemResource$outboundSchema),
]);
/**
 * @internal
 * @deprecated This namespace will be removed in future versions. Use schemas and types that are exported directly from this module.
 */
export var LineItem$;
(function (LineItem$) {
    /** @deprecated use `LineItem$inboundSchema` instead. */
    LineItem$.inboundSchema = LineItem$inboundSchema;
    /** @deprecated use `LineItem$outboundSchema` instead. */
    LineItem$.outboundSchema = LineItem$outboundSchema;
})(LineItem$ || (LineItem$ = {}));
export function lineItemToJSON(lineItem) {
    return JSON.stringify(LineItem$outboundSchema.parse(lineItem));
}
export function lineItemFromJSON(jsonString) {
    return safeParse(jsonString, (x) => LineItem$inboundSchema.parse(JSON.parse(x)), `Failed to parse 'LineItem' from JSON`);
}
/** @internal */
export const GetCourseProgressResponse$inboundSchema = z.object({
    lineItems: z.array(z.union([
        z.lazy(() => LineItemComponent$inboundSchema),
        z.lazy(() => LineItemResource$inboundSchema),
    ])),
});
/** @internal */
export const GetCourseProgressResponse$outboundSchema = z.object({
    lineItems: z.array(z.union([
        z.lazy(() => LineItemComponent$outboundSchema),
        z.lazy(() => LineItemResource$outboundSchema),
    ])),
});
/**
 * @internal
 * @deprecated This namespace will be removed in future versions. Use schemas and types that are exported directly from this module.
 */
export var GetCourseProgressResponse$;
(function (GetCourseProgressResponse$) {
    /** @deprecated use `GetCourseProgressResponse$inboundSchema` instead. */
    GetCourseProgressResponse$.inboundSchema = GetCourseProgressResponse$inboundSchema;
    /** @deprecated use `GetCourseProgressResponse$outboundSchema` instead. */
    GetCourseProgressResponse$.outboundSchema = GetCourseProgressResponse$outboundSchema;
})(GetCourseProgressResponse$ || (GetCourseProgressResponse$ = {}));
export function getCourseProgressResponseToJSON(getCourseProgressResponse) {
    return JSON.stringify(GetCourseProgressResponse$outboundSchema.parse(getCourseProgressResponse));
}
export function getCourseProgressResponseFromJSON(jsonString) {
    return safeParse(jsonString, (x) => GetCourseProgressResponse$inboundSchema.parse(JSON.parse(x)), `Failed to parse 'GetCourseProgressResponse' from JSON`);
}
//# sourceMappingURL=getcourseprogress.js.map