/*
 * Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT.
 */
import * as z from "zod";
import { safeParse } from "../../lib/schemas.js";
import * as components from "../components/index.js";
export const CreateLessonPlanStatus2 = {
    Active: "active",
    Tobedeleted: "tobedeleted",
};
export const CreateLessonPlanStatus1 = {
    Active: "active",
    Tobedeleted: "tobedeleted",
};
/** @internal */
export const CreateLessonPlanRequest$inboundSchema = z.object({
    courseId: z.string(),
    userId: z.string(),
    classId: z.string().optional(),
});
/** @internal */
export const CreateLessonPlanRequest$outboundSchema = z.object({
    courseId: z.string(),
    userId: z.string(),
    classId: 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 CreateLessonPlanRequest$;
(function (CreateLessonPlanRequest$) {
    /** @deprecated use `CreateLessonPlanRequest$inboundSchema` instead. */
    CreateLessonPlanRequest$.inboundSchema = CreateLessonPlanRequest$inboundSchema;
    /** @deprecated use `CreateLessonPlanRequest$outboundSchema` instead. */
    CreateLessonPlanRequest$.outboundSchema = CreateLessonPlanRequest$outboundSchema;
})(CreateLessonPlanRequest$ || (CreateLessonPlanRequest$ = {}));
export function createLessonPlanRequestToJSON(createLessonPlanRequest) {
    return JSON.stringify(CreateLessonPlanRequest$outboundSchema.parse(createLessonPlanRequest));
}
export function createLessonPlanRequestFromJSON(jsonString) {
    return safeParse(jsonString, (x) => CreateLessonPlanRequest$inboundSchema.parse(JSON.parse(x)), `Failed to parse 'CreateLessonPlanRequest' from JSON`);
}
/** @internal */
export const CreateLessonPlanStatus2$inboundSchema = z.nativeEnum(CreateLessonPlanStatus2);
/** @internal */
export const CreateLessonPlanStatus2$outboundSchema = CreateLessonPlanStatus2$inboundSchema;
/**
 * @internal
 * @deprecated This namespace will be removed in future versions. Use schemas and types that are exported directly from this module.
 */
export var CreateLessonPlanStatus2$;
(function (CreateLessonPlanStatus2$) {
    /** @deprecated use `CreateLessonPlanStatus2$inboundSchema` instead. */
    CreateLessonPlanStatus2$.inboundSchema = CreateLessonPlanStatus2$inboundSchema;
    /** @deprecated use `CreateLessonPlanStatus2$outboundSchema` instead. */
    CreateLessonPlanStatus2$.outboundSchema = CreateLessonPlanStatus2$outboundSchema;
})(CreateLessonPlanStatus2$ || (CreateLessonPlanStatus2$ = {}));
/** @internal */
export const CreateLessonPlanAcademicSession2$inboundSchema = z.object({
    sourcedId: z.string(),
});
/** @internal */
export const CreateLessonPlanAcademicSession2$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 CreateLessonPlanAcademicSession2$;
(function (CreateLessonPlanAcademicSession2$) {
    /** @deprecated use `CreateLessonPlanAcademicSession2$inboundSchema` instead. */
    CreateLessonPlanAcademicSession2$.inboundSchema = CreateLessonPlanAcademicSession2$inboundSchema;
    /** @deprecated use `CreateLessonPlanAcademicSession2$outboundSchema` instead. */
    CreateLessonPlanAcademicSession2$.outboundSchema = CreateLessonPlanAcademicSession2$outboundSchema;
})(CreateLessonPlanAcademicSession2$ || (CreateLessonPlanAcademicSession2$ = {}));
export function createLessonPlanAcademicSession2ToJSON(createLessonPlanAcademicSession2) {
    return JSON.stringify(CreateLessonPlanAcademicSession2$outboundSchema.parse(createLessonPlanAcademicSession2));
}
export function createLessonPlanAcademicSession2FromJSON(jsonString) {
    return safeParse(jsonString, (x) => CreateLessonPlanAcademicSession2$inboundSchema.parse(JSON.parse(x)), `Failed to parse 'CreateLessonPlanAcademicSession2' from JSON`);
}
/** @internal */
export const CreateLessonPlanOrg2$inboundSchema = z.object({
    sourcedId: z.string(),
});
/** @internal */
export const CreateLessonPlanOrg2$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 CreateLessonPlanOrg2$;
(function (CreateLessonPlanOrg2$) {
    /** @deprecated use `CreateLessonPlanOrg2$inboundSchema` instead. */
    CreateLessonPlanOrg2$.inboundSchema = CreateLessonPlanOrg2$inboundSchema;
    /** @deprecated use `CreateLessonPlanOrg2$outboundSchema` instead. */
    CreateLessonPlanOrg2$.outboundSchema = CreateLessonPlanOrg2$outboundSchema;
})(CreateLessonPlanOrg2$ || (CreateLessonPlanOrg2$ = {}));
export function createLessonPlanOrg2ToJSON(createLessonPlanOrg2) {
    return JSON.stringify(CreateLessonPlanOrg2$outboundSchema.parse(createLessonPlanOrg2));
}
export function createLessonPlanOrg2FromJSON(jsonString) {
    return safeParse(jsonString, (x) => CreateLessonPlanOrg2$inboundSchema.parse(JSON.parse(x)), `Failed to parse 'CreateLessonPlanOrg2' from JSON`);
}
/** @internal */
export const CreateLessonPlanCourse2$inboundSchema = z.object({
    sourcedId: z.string().optional(),
    status: CreateLessonPlanStatus2$inboundSchema,
    dateLastModified: z.string().datetime({ offset: true }).transform(v => new Date(v)).optional(),
    metadata: z.nullable(z.record(z.any())).optional(),
    title: z.string(),
    academicSession: z.nullable(z.lazy(() => CreateLessonPlanAcademicSession2$inboundSchema)).optional(),
    courseCode: z.nullable(z.string()).optional(),
    grades: z.nullable(z.array(z.string())).optional(),
    subjects: z.nullable(z.array(z.string())).optional(),
    subjectCodes: z.nullable(z.array(z.string())).optional(),
    org: z.lazy(() => CreateLessonPlanOrg2$inboundSchema),
    level: z.nullable(z.string()).optional(),
    gradingScheme: z.nullable(z.string()).optional(),
});
/** @internal */
export const CreateLessonPlanCourse2$outboundSchema = z.object({
    sourcedId: z.string().optional(),
    status: CreateLessonPlanStatus2$outboundSchema,
    dateLastModified: z.date().transform(v => v.toISOString()).optional(),
    metadata: z.nullable(z.record(z.any())).optional(),
    title: z.string(),
    academicSession: z.nullable(z.lazy(() => CreateLessonPlanAcademicSession2$outboundSchema)).optional(),
    courseCode: z.nullable(z.string()).optional(),
    grades: z.nullable(z.array(z.string())).optional(),
    subjects: z.nullable(z.array(z.string())).optional(),
    subjectCodes: z.nullable(z.array(z.string())).optional(),
    org: z.lazy(() => CreateLessonPlanOrg2$outboundSchema),
    level: z.nullable(z.string()).optional(),
    gradingScheme: 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 CreateLessonPlanCourse2$;
(function (CreateLessonPlanCourse2$) {
    /** @deprecated use `CreateLessonPlanCourse2$inboundSchema` instead. */
    CreateLessonPlanCourse2$.inboundSchema = CreateLessonPlanCourse2$inboundSchema;
    /** @deprecated use `CreateLessonPlanCourse2$outboundSchema` instead. */
    CreateLessonPlanCourse2$.outboundSchema = CreateLessonPlanCourse2$outboundSchema;
})(CreateLessonPlanCourse2$ || (CreateLessonPlanCourse2$ = {}));
export function createLessonPlanCourse2ToJSON(createLessonPlanCourse2) {
    return JSON.stringify(CreateLessonPlanCourse2$outboundSchema.parse(createLessonPlanCourse2));
}
export function createLessonPlanCourse2FromJSON(jsonString) {
    return safeParse(jsonString, (x) => CreateLessonPlanCourse2$inboundSchema.parse(JSON.parse(x)), `Failed to parse 'CreateLessonPlanCourse2' from JSON`);
}
/** @internal */
export const CreateLessonPlanLessonPlanLessonPlan2$inboundSchema = z.object({
    course: z.lazy(() => CreateLessonPlanCourse2$inboundSchema),
    subComponents: z.array(components.LessonPlanTreeComponent$inboundSchema),
});
/** @internal */
export const CreateLessonPlanLessonPlanLessonPlan2$outboundSchema = z.object({
    course: z.lazy(() => CreateLessonPlanCourse2$outboundSchema),
    subComponents: z.array(components.LessonPlanTreeComponent$outboundSchema),
});
/**
 * @internal
 * @deprecated This namespace will be removed in future versions. Use schemas and types that are exported directly from this module.
 */
export var CreateLessonPlanLessonPlanLessonPlan2$;
(function (CreateLessonPlanLessonPlanLessonPlan2$) {
    /** @deprecated use `CreateLessonPlanLessonPlanLessonPlan2$inboundSchema` instead. */
    CreateLessonPlanLessonPlanLessonPlan2$.inboundSchema = CreateLessonPlanLessonPlanLessonPlan2$inboundSchema;
    /** @deprecated use `CreateLessonPlanLessonPlanLessonPlan2$outboundSchema` instead. */
    CreateLessonPlanLessonPlanLessonPlan2$.outboundSchema = CreateLessonPlanLessonPlanLessonPlan2$outboundSchema;
})(CreateLessonPlanLessonPlanLessonPlan2$ || (CreateLessonPlanLessonPlanLessonPlan2$ = {}));
export function createLessonPlanLessonPlanLessonPlan2ToJSON(createLessonPlanLessonPlanLessonPlan2) {
    return JSON.stringify(CreateLessonPlanLessonPlanLessonPlan2$outboundSchema.parse(createLessonPlanLessonPlanLessonPlan2));
}
export function createLessonPlanLessonPlanLessonPlan2FromJSON(jsonString) {
    return safeParse(jsonString, (x) => CreateLessonPlanLessonPlanLessonPlan2$inboundSchema.parse(JSON.parse(x)), `Failed to parse 'CreateLessonPlanLessonPlanLessonPlan2' from JSON`);
}
/** @internal */
export const CreateLessonPlanLessonPlan2$inboundSchema = z.object({
    lessonPlan: z.lazy(() => CreateLessonPlanLessonPlanLessonPlan2$inboundSchema),
});
/** @internal */
export const CreateLessonPlanLessonPlan2$outboundSchema = z.object({
    lessonPlan: z.lazy(() => CreateLessonPlanLessonPlanLessonPlan2$outboundSchema),
});
/**
 * @internal
 * @deprecated This namespace will be removed in future versions. Use schemas and types that are exported directly from this module.
 */
export var CreateLessonPlanLessonPlan2$;
(function (CreateLessonPlanLessonPlan2$) {
    /** @deprecated use `CreateLessonPlanLessonPlan2$inboundSchema` instead. */
    CreateLessonPlanLessonPlan2$.inboundSchema = CreateLessonPlanLessonPlan2$inboundSchema;
    /** @deprecated use `CreateLessonPlanLessonPlan2$outboundSchema` instead. */
    CreateLessonPlanLessonPlan2$.outboundSchema = CreateLessonPlanLessonPlan2$outboundSchema;
})(CreateLessonPlanLessonPlan2$ || (CreateLessonPlanLessonPlan2$ = {}));
export function createLessonPlanLessonPlan2ToJSON(createLessonPlanLessonPlan2) {
    return JSON.stringify(CreateLessonPlanLessonPlan2$outboundSchema.parse(createLessonPlanLessonPlan2));
}
export function createLessonPlanLessonPlan2FromJSON(jsonString) {
    return safeParse(jsonString, (x) => CreateLessonPlanLessonPlan2$inboundSchema.parse(JSON.parse(x)), `Failed to parse 'CreateLessonPlanLessonPlan2' from JSON`);
}
/** @internal */
export const CreateLessonPlanResponseBody2$inboundSchema = z.object({
    lessonPlan: z.lazy(() => CreateLessonPlanLessonPlan2$inboundSchema),
});
/** @internal */
export const CreateLessonPlanResponseBody2$outboundSchema = z.object({
    lessonPlan: z.lazy(() => CreateLessonPlanLessonPlan2$outboundSchema),
});
/**
 * @internal
 * @deprecated This namespace will be removed in future versions. Use schemas and types that are exported directly from this module.
 */
export var CreateLessonPlanResponseBody2$;
(function (CreateLessonPlanResponseBody2$) {
    /** @deprecated use `CreateLessonPlanResponseBody2$inboundSchema` instead. */
    CreateLessonPlanResponseBody2$.inboundSchema = CreateLessonPlanResponseBody2$inboundSchema;
    /** @deprecated use `CreateLessonPlanResponseBody2$outboundSchema` instead. */
    CreateLessonPlanResponseBody2$.outboundSchema = CreateLessonPlanResponseBody2$outboundSchema;
})(CreateLessonPlanResponseBody2$ || (CreateLessonPlanResponseBody2$ = {}));
export function createLessonPlanResponseBody2ToJSON(createLessonPlanResponseBody2) {
    return JSON.stringify(CreateLessonPlanResponseBody2$outboundSchema.parse(createLessonPlanResponseBody2));
}
export function createLessonPlanResponseBody2FromJSON(jsonString) {
    return safeParse(jsonString, (x) => CreateLessonPlanResponseBody2$inboundSchema.parse(JSON.parse(x)), `Failed to parse 'CreateLessonPlanResponseBody2' from JSON`);
}
/** @internal */
export const CreateLessonPlanStatus1$inboundSchema = z.nativeEnum(CreateLessonPlanStatus1);
/** @internal */
export const CreateLessonPlanStatus1$outboundSchema = CreateLessonPlanStatus1$inboundSchema;
/**
 * @internal
 * @deprecated This namespace will be removed in future versions. Use schemas and types that are exported directly from this module.
 */
export var CreateLessonPlanStatus1$;
(function (CreateLessonPlanStatus1$) {
    /** @deprecated use `CreateLessonPlanStatus1$inboundSchema` instead. */
    CreateLessonPlanStatus1$.inboundSchema = CreateLessonPlanStatus1$inboundSchema;
    /** @deprecated use `CreateLessonPlanStatus1$outboundSchema` instead. */
    CreateLessonPlanStatus1$.outboundSchema = CreateLessonPlanStatus1$outboundSchema;
})(CreateLessonPlanStatus1$ || (CreateLessonPlanStatus1$ = {}));
/** @internal */
export const CreateLessonPlanAcademicSession1$inboundSchema = z.object({
    sourcedId: z.string(),
});
/** @internal */
export const CreateLessonPlanAcademicSession1$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 CreateLessonPlanAcademicSession1$;
(function (CreateLessonPlanAcademicSession1$) {
    /** @deprecated use `CreateLessonPlanAcademicSession1$inboundSchema` instead. */
    CreateLessonPlanAcademicSession1$.inboundSchema = CreateLessonPlanAcademicSession1$inboundSchema;
    /** @deprecated use `CreateLessonPlanAcademicSession1$outboundSchema` instead. */
    CreateLessonPlanAcademicSession1$.outboundSchema = CreateLessonPlanAcademicSession1$outboundSchema;
})(CreateLessonPlanAcademicSession1$ || (CreateLessonPlanAcademicSession1$ = {}));
export function createLessonPlanAcademicSession1ToJSON(createLessonPlanAcademicSession1) {
    return JSON.stringify(CreateLessonPlanAcademicSession1$outboundSchema.parse(createLessonPlanAcademicSession1));
}
export function createLessonPlanAcademicSession1FromJSON(jsonString) {
    return safeParse(jsonString, (x) => CreateLessonPlanAcademicSession1$inboundSchema.parse(JSON.parse(x)), `Failed to parse 'CreateLessonPlanAcademicSession1' from JSON`);
}
/** @internal */
export const CreateLessonPlanOrg1$inboundSchema = z.object({
    sourcedId: z.string(),
});
/** @internal */
export const CreateLessonPlanOrg1$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 CreateLessonPlanOrg1$;
(function (CreateLessonPlanOrg1$) {
    /** @deprecated use `CreateLessonPlanOrg1$inboundSchema` instead. */
    CreateLessonPlanOrg1$.inboundSchema = CreateLessonPlanOrg1$inboundSchema;
    /** @deprecated use `CreateLessonPlanOrg1$outboundSchema` instead. */
    CreateLessonPlanOrg1$.outboundSchema = CreateLessonPlanOrg1$outboundSchema;
})(CreateLessonPlanOrg1$ || (CreateLessonPlanOrg1$ = {}));
export function createLessonPlanOrg1ToJSON(createLessonPlanOrg1) {
    return JSON.stringify(CreateLessonPlanOrg1$outboundSchema.parse(createLessonPlanOrg1));
}
export function createLessonPlanOrg1FromJSON(jsonString) {
    return safeParse(jsonString, (x) => CreateLessonPlanOrg1$inboundSchema.parse(JSON.parse(x)), `Failed to parse 'CreateLessonPlanOrg1' from JSON`);
}
/** @internal */
export const CreateLessonPlanCourse1$inboundSchema = z.object({
    sourcedId: z.string().optional(),
    status: CreateLessonPlanStatus1$inboundSchema,
    dateLastModified: z.string().datetime({ offset: true }).transform(v => new Date(v)).optional(),
    metadata: z.nullable(z.record(z.any())).optional(),
    title: z.string(),
    academicSession: z.nullable(z.lazy(() => CreateLessonPlanAcademicSession1$inboundSchema)).optional(),
    courseCode: z.nullable(z.string()).optional(),
    grades: z.nullable(z.array(z.string())).optional(),
    subjects: z.nullable(z.array(z.string())).optional(),
    subjectCodes: z.nullable(z.array(z.string())).optional(),
    org: z.lazy(() => CreateLessonPlanOrg1$inboundSchema),
    level: z.nullable(z.string()).optional(),
    gradingScheme: z.nullable(z.string()).optional(),
});
/** @internal */
export const CreateLessonPlanCourse1$outboundSchema = z.object({
    sourcedId: z.string().optional(),
    status: CreateLessonPlanStatus1$outboundSchema,
    dateLastModified: z.date().transform(v => v.toISOString()).optional(),
    metadata: z.nullable(z.record(z.any())).optional(),
    title: z.string(),
    academicSession: z.nullable(z.lazy(() => CreateLessonPlanAcademicSession1$outboundSchema)).optional(),
    courseCode: z.nullable(z.string()).optional(),
    grades: z.nullable(z.array(z.string())).optional(),
    subjects: z.nullable(z.array(z.string())).optional(),
    subjectCodes: z.nullable(z.array(z.string())).optional(),
    org: z.lazy(() => CreateLessonPlanOrg1$outboundSchema),
    level: z.nullable(z.string()).optional(),
    gradingScheme: 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 CreateLessonPlanCourse1$;
(function (CreateLessonPlanCourse1$) {
    /** @deprecated use `CreateLessonPlanCourse1$inboundSchema` instead. */
    CreateLessonPlanCourse1$.inboundSchema = CreateLessonPlanCourse1$inboundSchema;
    /** @deprecated use `CreateLessonPlanCourse1$outboundSchema` instead. */
    CreateLessonPlanCourse1$.outboundSchema = CreateLessonPlanCourse1$outboundSchema;
})(CreateLessonPlanCourse1$ || (CreateLessonPlanCourse1$ = {}));
export function createLessonPlanCourse1ToJSON(createLessonPlanCourse1) {
    return JSON.stringify(CreateLessonPlanCourse1$outboundSchema.parse(createLessonPlanCourse1));
}
export function createLessonPlanCourse1FromJSON(jsonString) {
    return safeParse(jsonString, (x) => CreateLessonPlanCourse1$inboundSchema.parse(JSON.parse(x)), `Failed to parse 'CreateLessonPlanCourse1' from JSON`);
}
/** @internal */
export const CreateLessonPlanLessonPlanLessonPlan1$inboundSchema = z.object({
    course: z.lazy(() => CreateLessonPlanCourse1$inboundSchema),
    subComponents: z.array(components.LessonPlanTreeComponent$inboundSchema),
});
/** @internal */
export const CreateLessonPlanLessonPlanLessonPlan1$outboundSchema = z.object({
    course: z.lazy(() => CreateLessonPlanCourse1$outboundSchema),
    subComponents: z.array(components.LessonPlanTreeComponent$outboundSchema),
});
/**
 * @internal
 * @deprecated This namespace will be removed in future versions. Use schemas and types that are exported directly from this module.
 */
export var CreateLessonPlanLessonPlanLessonPlan1$;
(function (CreateLessonPlanLessonPlanLessonPlan1$) {
    /** @deprecated use `CreateLessonPlanLessonPlanLessonPlan1$inboundSchema` instead. */
    CreateLessonPlanLessonPlanLessonPlan1$.inboundSchema = CreateLessonPlanLessonPlanLessonPlan1$inboundSchema;
    /** @deprecated use `CreateLessonPlanLessonPlanLessonPlan1$outboundSchema` instead. */
    CreateLessonPlanLessonPlanLessonPlan1$.outboundSchema = CreateLessonPlanLessonPlanLessonPlan1$outboundSchema;
})(CreateLessonPlanLessonPlanLessonPlan1$ || (CreateLessonPlanLessonPlanLessonPlan1$ = {}));
export function createLessonPlanLessonPlanLessonPlan1ToJSON(createLessonPlanLessonPlanLessonPlan1) {
    return JSON.stringify(CreateLessonPlanLessonPlanLessonPlan1$outboundSchema.parse(createLessonPlanLessonPlanLessonPlan1));
}
export function createLessonPlanLessonPlanLessonPlan1FromJSON(jsonString) {
    return safeParse(jsonString, (x) => CreateLessonPlanLessonPlanLessonPlan1$inboundSchema.parse(JSON.parse(x)), `Failed to parse 'CreateLessonPlanLessonPlanLessonPlan1' from JSON`);
}
/** @internal */
export const CreateLessonPlanLessonPlan1$inboundSchema = z.object({
    lessonPlan: z.lazy(() => CreateLessonPlanLessonPlanLessonPlan1$inboundSchema),
});
/** @internal */
export const CreateLessonPlanLessonPlan1$outboundSchema = z.object({
    lessonPlan: z.lazy(() => CreateLessonPlanLessonPlanLessonPlan1$outboundSchema),
});
/**
 * @internal
 * @deprecated This namespace will be removed in future versions. Use schemas and types that are exported directly from this module.
 */
export var CreateLessonPlanLessonPlan1$;
(function (CreateLessonPlanLessonPlan1$) {
    /** @deprecated use `CreateLessonPlanLessonPlan1$inboundSchema` instead. */
    CreateLessonPlanLessonPlan1$.inboundSchema = CreateLessonPlanLessonPlan1$inboundSchema;
    /** @deprecated use `CreateLessonPlanLessonPlan1$outboundSchema` instead. */
    CreateLessonPlanLessonPlan1$.outboundSchema = CreateLessonPlanLessonPlan1$outboundSchema;
})(CreateLessonPlanLessonPlan1$ || (CreateLessonPlanLessonPlan1$ = {}));
export function createLessonPlanLessonPlan1ToJSON(createLessonPlanLessonPlan1) {
    return JSON.stringify(CreateLessonPlanLessonPlan1$outboundSchema.parse(createLessonPlanLessonPlan1));
}
export function createLessonPlanLessonPlan1FromJSON(jsonString) {
    return safeParse(jsonString, (x) => CreateLessonPlanLessonPlan1$inboundSchema.parse(JSON.parse(x)), `Failed to parse 'CreateLessonPlanLessonPlan1' from JSON`);
}
/** @internal */
export const CreateLessonPlanResponseBody1$inboundSchema = z.object({
    lessonPlan: z.lazy(() => CreateLessonPlanLessonPlan1$inboundSchema),
});
/** @internal */
export const CreateLessonPlanResponseBody1$outboundSchema = z.object({
    lessonPlan: z.lazy(() => CreateLessonPlanLessonPlan1$outboundSchema),
});
/**
 * @internal
 * @deprecated This namespace will be removed in future versions. Use schemas and types that are exported directly from this module.
 */
export var CreateLessonPlanResponseBody1$;
(function (CreateLessonPlanResponseBody1$) {
    /** @deprecated use `CreateLessonPlanResponseBody1$inboundSchema` instead. */
    CreateLessonPlanResponseBody1$.inboundSchema = CreateLessonPlanResponseBody1$inboundSchema;
    /** @deprecated use `CreateLessonPlanResponseBody1$outboundSchema` instead. */
    CreateLessonPlanResponseBody1$.outboundSchema = CreateLessonPlanResponseBody1$outboundSchema;
})(CreateLessonPlanResponseBody1$ || (CreateLessonPlanResponseBody1$ = {}));
export function createLessonPlanResponseBody1ToJSON(createLessonPlanResponseBody1) {
    return JSON.stringify(CreateLessonPlanResponseBody1$outboundSchema.parse(createLessonPlanResponseBody1));
}
export function createLessonPlanResponseBody1FromJSON(jsonString) {
    return safeParse(jsonString, (x) => CreateLessonPlanResponseBody1$inboundSchema.parse(JSON.parse(x)), `Failed to parse 'CreateLessonPlanResponseBody1' from JSON`);
}
/** @internal */
export const CreateLessonPlanResponse$inboundSchema = z.union([
    z.lazy(() => CreateLessonPlanResponseBody1$inboundSchema),
    z.lazy(() => CreateLessonPlanResponseBody2$inboundSchema),
]);
/** @internal */
export const CreateLessonPlanResponse$outboundSchema = z.union([
    z.lazy(() => CreateLessonPlanResponseBody1$outboundSchema),
    z.lazy(() => CreateLessonPlanResponseBody2$outboundSchema),
]);
/**
 * @internal
 * @deprecated This namespace will be removed in future versions. Use schemas and types that are exported directly from this module.
 */
export var CreateLessonPlanResponse$;
(function (CreateLessonPlanResponse$) {
    /** @deprecated use `CreateLessonPlanResponse$inboundSchema` instead. */
    CreateLessonPlanResponse$.inboundSchema = CreateLessonPlanResponse$inboundSchema;
    /** @deprecated use `CreateLessonPlanResponse$outboundSchema` instead. */
    CreateLessonPlanResponse$.outboundSchema = CreateLessonPlanResponse$outboundSchema;
})(CreateLessonPlanResponse$ || (CreateLessonPlanResponse$ = {}));
export function createLessonPlanResponseToJSON(createLessonPlanResponse) {
    return JSON.stringify(CreateLessonPlanResponse$outboundSchema.parse(createLessonPlanResponse));
}
export function createLessonPlanResponseFromJSON(jsonString) {
    return safeParse(jsonString, (x) => CreateLessonPlanResponse$inboundSchema.parse(JSON.parse(x)), `Failed to parse 'CreateLessonPlanResponse' from JSON`);
}
//# sourceMappingURL=createlessonplan.js.map