"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.CreateLessonPlanResponse$ = exports.CreateLessonPlanResponse$outboundSchema = exports.CreateLessonPlanResponse$inboundSchema = exports.CreateLessonPlanResponseBody1$ = exports.CreateLessonPlanResponseBody1$outboundSchema = exports.CreateLessonPlanResponseBody1$inboundSchema = exports.CreateLessonPlanLessonPlan1$ = exports.CreateLessonPlanLessonPlan1$outboundSchema = exports.CreateLessonPlanLessonPlan1$inboundSchema = exports.CreateLessonPlanLessonPlanLessonPlan1$ = exports.CreateLessonPlanLessonPlanLessonPlan1$outboundSchema = exports.CreateLessonPlanLessonPlanLessonPlan1$inboundSchema = exports.CreateLessonPlanCourse1$ = exports.CreateLessonPlanCourse1$outboundSchema = exports.CreateLessonPlanCourse1$inboundSchema = exports.CreateLessonPlanOrg1$ = exports.CreateLessonPlanOrg1$outboundSchema = exports.CreateLessonPlanOrg1$inboundSchema = exports.CreateLessonPlanAcademicSession1$ = exports.CreateLessonPlanAcademicSession1$outboundSchema = exports.CreateLessonPlanAcademicSession1$inboundSchema = exports.CreateLessonPlanStatus1$ = exports.CreateLessonPlanStatus1$outboundSchema = exports.CreateLessonPlanStatus1$inboundSchema = exports.CreateLessonPlanResponseBody2$ = exports.CreateLessonPlanResponseBody2$outboundSchema = exports.CreateLessonPlanResponseBody2$inboundSchema = exports.CreateLessonPlanLessonPlan2$ = exports.CreateLessonPlanLessonPlan2$outboundSchema = exports.CreateLessonPlanLessonPlan2$inboundSchema = exports.CreateLessonPlanLessonPlanLessonPlan2$ = exports.CreateLessonPlanLessonPlanLessonPlan2$outboundSchema = exports.CreateLessonPlanLessonPlanLessonPlan2$inboundSchema = exports.CreateLessonPlanCourse2$ = exports.CreateLessonPlanCourse2$outboundSchema = exports.CreateLessonPlanCourse2$inboundSchema = exports.CreateLessonPlanOrg2$ = exports.CreateLessonPlanOrg2$outboundSchema = exports.CreateLessonPlanOrg2$inboundSchema = exports.CreateLessonPlanAcademicSession2$ = exports.CreateLessonPlanAcademicSession2$outboundSchema = exports.CreateLessonPlanAcademicSession2$inboundSchema = exports.CreateLessonPlanStatus2$ = exports.CreateLessonPlanStatus2$outboundSchema = exports.CreateLessonPlanStatus2$inboundSchema = exports.CreateLessonPlanRequest$ = exports.CreateLessonPlanRequest$outboundSchema = exports.CreateLessonPlanRequest$inboundSchema = exports.CreateLessonPlanStatus1 = exports.CreateLessonPlanStatus2 = void 0;
exports.createLessonPlanRequestToJSON = createLessonPlanRequestToJSON;
exports.createLessonPlanRequestFromJSON = createLessonPlanRequestFromJSON;
exports.createLessonPlanAcademicSession2ToJSON = createLessonPlanAcademicSession2ToJSON;
exports.createLessonPlanAcademicSession2FromJSON = createLessonPlanAcademicSession2FromJSON;
exports.createLessonPlanOrg2ToJSON = createLessonPlanOrg2ToJSON;
exports.createLessonPlanOrg2FromJSON = createLessonPlanOrg2FromJSON;
exports.createLessonPlanCourse2ToJSON = createLessonPlanCourse2ToJSON;
exports.createLessonPlanCourse2FromJSON = createLessonPlanCourse2FromJSON;
exports.createLessonPlanLessonPlanLessonPlan2ToJSON = createLessonPlanLessonPlanLessonPlan2ToJSON;
exports.createLessonPlanLessonPlanLessonPlan2FromJSON = createLessonPlanLessonPlanLessonPlan2FromJSON;
exports.createLessonPlanLessonPlan2ToJSON = createLessonPlanLessonPlan2ToJSON;
exports.createLessonPlanLessonPlan2FromJSON = createLessonPlanLessonPlan2FromJSON;
exports.createLessonPlanResponseBody2ToJSON = createLessonPlanResponseBody2ToJSON;
exports.createLessonPlanResponseBody2FromJSON = createLessonPlanResponseBody2FromJSON;
exports.createLessonPlanAcademicSession1ToJSON = createLessonPlanAcademicSession1ToJSON;
exports.createLessonPlanAcademicSession1FromJSON = createLessonPlanAcademicSession1FromJSON;
exports.createLessonPlanOrg1ToJSON = createLessonPlanOrg1ToJSON;
exports.createLessonPlanOrg1FromJSON = createLessonPlanOrg1FromJSON;
exports.createLessonPlanCourse1ToJSON = createLessonPlanCourse1ToJSON;
exports.createLessonPlanCourse1FromJSON = createLessonPlanCourse1FromJSON;
exports.createLessonPlanLessonPlanLessonPlan1ToJSON = createLessonPlanLessonPlanLessonPlan1ToJSON;
exports.createLessonPlanLessonPlanLessonPlan1FromJSON = createLessonPlanLessonPlanLessonPlan1FromJSON;
exports.createLessonPlanLessonPlan1ToJSON = createLessonPlanLessonPlan1ToJSON;
exports.createLessonPlanLessonPlan1FromJSON = createLessonPlanLessonPlan1FromJSON;
exports.createLessonPlanResponseBody1ToJSON = createLessonPlanResponseBody1ToJSON;
exports.createLessonPlanResponseBody1FromJSON = createLessonPlanResponseBody1FromJSON;
exports.createLessonPlanResponseToJSON = createLessonPlanResponseToJSON;
exports.createLessonPlanResponseFromJSON = createLessonPlanResponseFromJSON;
const z = __importStar(require("zod"));
const schemas_js_1 = require("../../lib/schemas.js");
const components = __importStar(require("../components/index.js"));
exports.CreateLessonPlanStatus2 = {
    Active: "active",
    Tobedeleted: "tobedeleted",
};
exports.CreateLessonPlanStatus1 = {
    Active: "active",
    Tobedeleted: "tobedeleted",
};
/** @internal */
exports.CreateLessonPlanRequest$inboundSchema = z.object({
    courseId: z.string(),
    userId: z.string(),
    classId: z.string().optional(),
});
/** @internal */
exports.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.
 */
var CreateLessonPlanRequest$;
(function (CreateLessonPlanRequest$) {
    /** @deprecated use `CreateLessonPlanRequest$inboundSchema` instead. */
    CreateLessonPlanRequest$.inboundSchema = exports.CreateLessonPlanRequest$inboundSchema;
    /** @deprecated use `CreateLessonPlanRequest$outboundSchema` instead. */
    CreateLessonPlanRequest$.outboundSchema = exports.CreateLessonPlanRequest$outboundSchema;
})(CreateLessonPlanRequest$ || (exports.CreateLessonPlanRequest$ = CreateLessonPlanRequest$ = {}));
function createLessonPlanRequestToJSON(createLessonPlanRequest) {
    return JSON.stringify(exports.CreateLessonPlanRequest$outboundSchema.parse(createLessonPlanRequest));
}
function createLessonPlanRequestFromJSON(jsonString) {
    return (0, schemas_js_1.safeParse)(jsonString, (x) => exports.CreateLessonPlanRequest$inboundSchema.parse(JSON.parse(x)), `Failed to parse 'CreateLessonPlanRequest' from JSON`);
}
/** @internal */
exports.CreateLessonPlanStatus2$inboundSchema = z.nativeEnum(exports.CreateLessonPlanStatus2);
/** @internal */
exports.CreateLessonPlanStatus2$outboundSchema = exports.CreateLessonPlanStatus2$inboundSchema;
/**
 * @internal
 * @deprecated This namespace will be removed in future versions. Use schemas and types that are exported directly from this module.
 */
var CreateLessonPlanStatus2$;
(function (CreateLessonPlanStatus2$) {
    /** @deprecated use `CreateLessonPlanStatus2$inboundSchema` instead. */
    CreateLessonPlanStatus2$.inboundSchema = exports.CreateLessonPlanStatus2$inboundSchema;
    /** @deprecated use `CreateLessonPlanStatus2$outboundSchema` instead. */
    CreateLessonPlanStatus2$.outboundSchema = exports.CreateLessonPlanStatus2$outboundSchema;
})(CreateLessonPlanStatus2$ || (exports.CreateLessonPlanStatus2$ = CreateLessonPlanStatus2$ = {}));
/** @internal */
exports.CreateLessonPlanAcademicSession2$inboundSchema = z.object({
    sourcedId: z.string(),
});
/** @internal */
exports.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.
 */
var CreateLessonPlanAcademicSession2$;
(function (CreateLessonPlanAcademicSession2$) {
    /** @deprecated use `CreateLessonPlanAcademicSession2$inboundSchema` instead. */
    CreateLessonPlanAcademicSession2$.inboundSchema = exports.CreateLessonPlanAcademicSession2$inboundSchema;
    /** @deprecated use `CreateLessonPlanAcademicSession2$outboundSchema` instead. */
    CreateLessonPlanAcademicSession2$.outboundSchema = exports.CreateLessonPlanAcademicSession2$outboundSchema;
})(CreateLessonPlanAcademicSession2$ || (exports.CreateLessonPlanAcademicSession2$ = CreateLessonPlanAcademicSession2$ = {}));
function createLessonPlanAcademicSession2ToJSON(createLessonPlanAcademicSession2) {
    return JSON.stringify(exports.CreateLessonPlanAcademicSession2$outboundSchema.parse(createLessonPlanAcademicSession2));
}
function createLessonPlanAcademicSession2FromJSON(jsonString) {
    return (0, schemas_js_1.safeParse)(jsonString, (x) => exports.CreateLessonPlanAcademicSession2$inboundSchema.parse(JSON.parse(x)), `Failed to parse 'CreateLessonPlanAcademicSession2' from JSON`);
}
/** @internal */
exports.CreateLessonPlanOrg2$inboundSchema = z.object({
    sourcedId: z.string(),
});
/** @internal */
exports.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.
 */
var CreateLessonPlanOrg2$;
(function (CreateLessonPlanOrg2$) {
    /** @deprecated use `CreateLessonPlanOrg2$inboundSchema` instead. */
    CreateLessonPlanOrg2$.inboundSchema = exports.CreateLessonPlanOrg2$inboundSchema;
    /** @deprecated use `CreateLessonPlanOrg2$outboundSchema` instead. */
    CreateLessonPlanOrg2$.outboundSchema = exports.CreateLessonPlanOrg2$outboundSchema;
})(CreateLessonPlanOrg2$ || (exports.CreateLessonPlanOrg2$ = CreateLessonPlanOrg2$ = {}));
function createLessonPlanOrg2ToJSON(createLessonPlanOrg2) {
    return JSON.stringify(exports.CreateLessonPlanOrg2$outboundSchema.parse(createLessonPlanOrg2));
}
function createLessonPlanOrg2FromJSON(jsonString) {
    return (0, schemas_js_1.safeParse)(jsonString, (x) => exports.CreateLessonPlanOrg2$inboundSchema.parse(JSON.parse(x)), `Failed to parse 'CreateLessonPlanOrg2' from JSON`);
}
/** @internal */
exports.CreateLessonPlanCourse2$inboundSchema = z.object({
    sourcedId: z.string().optional(),
    status: exports.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(() => exports.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(() => exports.CreateLessonPlanOrg2$inboundSchema),
    level: z.nullable(z.string()).optional(),
    gradingScheme: z.nullable(z.string()).optional(),
});
/** @internal */
exports.CreateLessonPlanCourse2$outboundSchema = z.object({
    sourcedId: z.string().optional(),
    status: exports.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(() => exports.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(() => exports.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.
 */
var CreateLessonPlanCourse2$;
(function (CreateLessonPlanCourse2$) {
    /** @deprecated use `CreateLessonPlanCourse2$inboundSchema` instead. */
    CreateLessonPlanCourse2$.inboundSchema = exports.CreateLessonPlanCourse2$inboundSchema;
    /** @deprecated use `CreateLessonPlanCourse2$outboundSchema` instead. */
    CreateLessonPlanCourse2$.outboundSchema = exports.CreateLessonPlanCourse2$outboundSchema;
})(CreateLessonPlanCourse2$ || (exports.CreateLessonPlanCourse2$ = CreateLessonPlanCourse2$ = {}));
function createLessonPlanCourse2ToJSON(createLessonPlanCourse2) {
    return JSON.stringify(exports.CreateLessonPlanCourse2$outboundSchema.parse(createLessonPlanCourse2));
}
function createLessonPlanCourse2FromJSON(jsonString) {
    return (0, schemas_js_1.safeParse)(jsonString, (x) => exports.CreateLessonPlanCourse2$inboundSchema.parse(JSON.parse(x)), `Failed to parse 'CreateLessonPlanCourse2' from JSON`);
}
/** @internal */
exports.CreateLessonPlanLessonPlanLessonPlan2$inboundSchema = z.object({
    course: z.lazy(() => exports.CreateLessonPlanCourse2$inboundSchema),
    subComponents: z.array(components.LessonPlanTreeComponent$inboundSchema),
});
/** @internal */
exports.CreateLessonPlanLessonPlanLessonPlan2$outboundSchema = z.object({
    course: z.lazy(() => exports.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.
 */
var CreateLessonPlanLessonPlanLessonPlan2$;
(function (CreateLessonPlanLessonPlanLessonPlan2$) {
    /** @deprecated use `CreateLessonPlanLessonPlanLessonPlan2$inboundSchema` instead. */
    CreateLessonPlanLessonPlanLessonPlan2$.inboundSchema = exports.CreateLessonPlanLessonPlanLessonPlan2$inboundSchema;
    /** @deprecated use `CreateLessonPlanLessonPlanLessonPlan2$outboundSchema` instead. */
    CreateLessonPlanLessonPlanLessonPlan2$.outboundSchema = exports.CreateLessonPlanLessonPlanLessonPlan2$outboundSchema;
})(CreateLessonPlanLessonPlanLessonPlan2$ || (exports.CreateLessonPlanLessonPlanLessonPlan2$ = CreateLessonPlanLessonPlanLessonPlan2$ = {}));
function createLessonPlanLessonPlanLessonPlan2ToJSON(createLessonPlanLessonPlanLessonPlan2) {
    return JSON.stringify(exports.CreateLessonPlanLessonPlanLessonPlan2$outboundSchema.parse(createLessonPlanLessonPlanLessonPlan2));
}
function createLessonPlanLessonPlanLessonPlan2FromJSON(jsonString) {
    return (0, schemas_js_1.safeParse)(jsonString, (x) => exports.CreateLessonPlanLessonPlanLessonPlan2$inboundSchema.parse(JSON.parse(x)), `Failed to parse 'CreateLessonPlanLessonPlanLessonPlan2' from JSON`);
}
/** @internal */
exports.CreateLessonPlanLessonPlan2$inboundSchema = z.object({
    lessonPlan: z.lazy(() => exports.CreateLessonPlanLessonPlanLessonPlan2$inboundSchema),
});
/** @internal */
exports.CreateLessonPlanLessonPlan2$outboundSchema = z.object({
    lessonPlan: z.lazy(() => exports.CreateLessonPlanLessonPlanLessonPlan2$outboundSchema),
});
/**
 * @internal
 * @deprecated This namespace will be removed in future versions. Use schemas and types that are exported directly from this module.
 */
var CreateLessonPlanLessonPlan2$;
(function (CreateLessonPlanLessonPlan2$) {
    /** @deprecated use `CreateLessonPlanLessonPlan2$inboundSchema` instead. */
    CreateLessonPlanLessonPlan2$.inboundSchema = exports.CreateLessonPlanLessonPlan2$inboundSchema;
    /** @deprecated use `CreateLessonPlanLessonPlan2$outboundSchema` instead. */
    CreateLessonPlanLessonPlan2$.outboundSchema = exports.CreateLessonPlanLessonPlan2$outboundSchema;
})(CreateLessonPlanLessonPlan2$ || (exports.CreateLessonPlanLessonPlan2$ = CreateLessonPlanLessonPlan2$ = {}));
function createLessonPlanLessonPlan2ToJSON(createLessonPlanLessonPlan2) {
    return JSON.stringify(exports.CreateLessonPlanLessonPlan2$outboundSchema.parse(createLessonPlanLessonPlan2));
}
function createLessonPlanLessonPlan2FromJSON(jsonString) {
    return (0, schemas_js_1.safeParse)(jsonString, (x) => exports.CreateLessonPlanLessonPlan2$inboundSchema.parse(JSON.parse(x)), `Failed to parse 'CreateLessonPlanLessonPlan2' from JSON`);
}
/** @internal */
exports.CreateLessonPlanResponseBody2$inboundSchema = z.object({
    lessonPlan: z.lazy(() => exports.CreateLessonPlanLessonPlan2$inboundSchema),
});
/** @internal */
exports.CreateLessonPlanResponseBody2$outboundSchema = z.object({
    lessonPlan: z.lazy(() => exports.CreateLessonPlanLessonPlan2$outboundSchema),
});
/**
 * @internal
 * @deprecated This namespace will be removed in future versions. Use schemas and types that are exported directly from this module.
 */
var CreateLessonPlanResponseBody2$;
(function (CreateLessonPlanResponseBody2$) {
    /** @deprecated use `CreateLessonPlanResponseBody2$inboundSchema` instead. */
    CreateLessonPlanResponseBody2$.inboundSchema = exports.CreateLessonPlanResponseBody2$inboundSchema;
    /** @deprecated use `CreateLessonPlanResponseBody2$outboundSchema` instead. */
    CreateLessonPlanResponseBody2$.outboundSchema = exports.CreateLessonPlanResponseBody2$outboundSchema;
})(CreateLessonPlanResponseBody2$ || (exports.CreateLessonPlanResponseBody2$ = CreateLessonPlanResponseBody2$ = {}));
function createLessonPlanResponseBody2ToJSON(createLessonPlanResponseBody2) {
    return JSON.stringify(exports.CreateLessonPlanResponseBody2$outboundSchema.parse(createLessonPlanResponseBody2));
}
function createLessonPlanResponseBody2FromJSON(jsonString) {
    return (0, schemas_js_1.safeParse)(jsonString, (x) => exports.CreateLessonPlanResponseBody2$inboundSchema.parse(JSON.parse(x)), `Failed to parse 'CreateLessonPlanResponseBody2' from JSON`);
}
/** @internal */
exports.CreateLessonPlanStatus1$inboundSchema = z.nativeEnum(exports.CreateLessonPlanStatus1);
/** @internal */
exports.CreateLessonPlanStatus1$outboundSchema = exports.CreateLessonPlanStatus1$inboundSchema;
/**
 * @internal
 * @deprecated This namespace will be removed in future versions. Use schemas and types that are exported directly from this module.
 */
var CreateLessonPlanStatus1$;
(function (CreateLessonPlanStatus1$) {
    /** @deprecated use `CreateLessonPlanStatus1$inboundSchema` instead. */
    CreateLessonPlanStatus1$.inboundSchema = exports.CreateLessonPlanStatus1$inboundSchema;
    /** @deprecated use `CreateLessonPlanStatus1$outboundSchema` instead. */
    CreateLessonPlanStatus1$.outboundSchema = exports.CreateLessonPlanStatus1$outboundSchema;
})(CreateLessonPlanStatus1$ || (exports.CreateLessonPlanStatus1$ = CreateLessonPlanStatus1$ = {}));
/** @internal */
exports.CreateLessonPlanAcademicSession1$inboundSchema = z.object({
    sourcedId: z.string(),
});
/** @internal */
exports.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.
 */
var CreateLessonPlanAcademicSession1$;
(function (CreateLessonPlanAcademicSession1$) {
    /** @deprecated use `CreateLessonPlanAcademicSession1$inboundSchema` instead. */
    CreateLessonPlanAcademicSession1$.inboundSchema = exports.CreateLessonPlanAcademicSession1$inboundSchema;
    /** @deprecated use `CreateLessonPlanAcademicSession1$outboundSchema` instead. */
    CreateLessonPlanAcademicSession1$.outboundSchema = exports.CreateLessonPlanAcademicSession1$outboundSchema;
})(CreateLessonPlanAcademicSession1$ || (exports.CreateLessonPlanAcademicSession1$ = CreateLessonPlanAcademicSession1$ = {}));
function createLessonPlanAcademicSession1ToJSON(createLessonPlanAcademicSession1) {
    return JSON.stringify(exports.CreateLessonPlanAcademicSession1$outboundSchema.parse(createLessonPlanAcademicSession1));
}
function createLessonPlanAcademicSession1FromJSON(jsonString) {
    return (0, schemas_js_1.safeParse)(jsonString, (x) => exports.CreateLessonPlanAcademicSession1$inboundSchema.parse(JSON.parse(x)), `Failed to parse 'CreateLessonPlanAcademicSession1' from JSON`);
}
/** @internal */
exports.CreateLessonPlanOrg1$inboundSchema = z.object({
    sourcedId: z.string(),
});
/** @internal */
exports.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.
 */
var CreateLessonPlanOrg1$;
(function (CreateLessonPlanOrg1$) {
    /** @deprecated use `CreateLessonPlanOrg1$inboundSchema` instead. */
    CreateLessonPlanOrg1$.inboundSchema = exports.CreateLessonPlanOrg1$inboundSchema;
    /** @deprecated use `CreateLessonPlanOrg1$outboundSchema` instead. */
    CreateLessonPlanOrg1$.outboundSchema = exports.CreateLessonPlanOrg1$outboundSchema;
})(CreateLessonPlanOrg1$ || (exports.CreateLessonPlanOrg1$ = CreateLessonPlanOrg1$ = {}));
function createLessonPlanOrg1ToJSON(createLessonPlanOrg1) {
    return JSON.stringify(exports.CreateLessonPlanOrg1$outboundSchema.parse(createLessonPlanOrg1));
}
function createLessonPlanOrg1FromJSON(jsonString) {
    return (0, schemas_js_1.safeParse)(jsonString, (x) => exports.CreateLessonPlanOrg1$inboundSchema.parse(JSON.parse(x)), `Failed to parse 'CreateLessonPlanOrg1' from JSON`);
}
/** @internal */
exports.CreateLessonPlanCourse1$inboundSchema = z.object({
    sourcedId: z.string().optional(),
    status: exports.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(() => exports.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(() => exports.CreateLessonPlanOrg1$inboundSchema),
    level: z.nullable(z.string()).optional(),
    gradingScheme: z.nullable(z.string()).optional(),
});
/** @internal */
exports.CreateLessonPlanCourse1$outboundSchema = z.object({
    sourcedId: z.string().optional(),
    status: exports.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(() => exports.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(() => exports.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.
 */
var CreateLessonPlanCourse1$;
(function (CreateLessonPlanCourse1$) {
    /** @deprecated use `CreateLessonPlanCourse1$inboundSchema` instead. */
    CreateLessonPlanCourse1$.inboundSchema = exports.CreateLessonPlanCourse1$inboundSchema;
    /** @deprecated use `CreateLessonPlanCourse1$outboundSchema` instead. */
    CreateLessonPlanCourse1$.outboundSchema = exports.CreateLessonPlanCourse1$outboundSchema;
})(CreateLessonPlanCourse1$ || (exports.CreateLessonPlanCourse1$ = CreateLessonPlanCourse1$ = {}));
function createLessonPlanCourse1ToJSON(createLessonPlanCourse1) {
    return JSON.stringify(exports.CreateLessonPlanCourse1$outboundSchema.parse(createLessonPlanCourse1));
}
function createLessonPlanCourse1FromJSON(jsonString) {
    return (0, schemas_js_1.safeParse)(jsonString, (x) => exports.CreateLessonPlanCourse1$inboundSchema.parse(JSON.parse(x)), `Failed to parse 'CreateLessonPlanCourse1' from JSON`);
}
/** @internal */
exports.CreateLessonPlanLessonPlanLessonPlan1$inboundSchema = z.object({
    course: z.lazy(() => exports.CreateLessonPlanCourse1$inboundSchema),
    subComponents: z.array(components.LessonPlanTreeComponent$inboundSchema),
});
/** @internal */
exports.CreateLessonPlanLessonPlanLessonPlan1$outboundSchema = z.object({
    course: z.lazy(() => exports.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.
 */
var CreateLessonPlanLessonPlanLessonPlan1$;
(function (CreateLessonPlanLessonPlanLessonPlan1$) {
    /** @deprecated use `CreateLessonPlanLessonPlanLessonPlan1$inboundSchema` instead. */
    CreateLessonPlanLessonPlanLessonPlan1$.inboundSchema = exports.CreateLessonPlanLessonPlanLessonPlan1$inboundSchema;
    /** @deprecated use `CreateLessonPlanLessonPlanLessonPlan1$outboundSchema` instead. */
    CreateLessonPlanLessonPlanLessonPlan1$.outboundSchema = exports.CreateLessonPlanLessonPlanLessonPlan1$outboundSchema;
})(CreateLessonPlanLessonPlanLessonPlan1$ || (exports.CreateLessonPlanLessonPlanLessonPlan1$ = CreateLessonPlanLessonPlanLessonPlan1$ = {}));
function createLessonPlanLessonPlanLessonPlan1ToJSON(createLessonPlanLessonPlanLessonPlan1) {
    return JSON.stringify(exports.CreateLessonPlanLessonPlanLessonPlan1$outboundSchema.parse(createLessonPlanLessonPlanLessonPlan1));
}
function createLessonPlanLessonPlanLessonPlan1FromJSON(jsonString) {
    return (0, schemas_js_1.safeParse)(jsonString, (x) => exports.CreateLessonPlanLessonPlanLessonPlan1$inboundSchema.parse(JSON.parse(x)), `Failed to parse 'CreateLessonPlanLessonPlanLessonPlan1' from JSON`);
}
/** @internal */
exports.CreateLessonPlanLessonPlan1$inboundSchema = z.object({
    lessonPlan: z.lazy(() => exports.CreateLessonPlanLessonPlanLessonPlan1$inboundSchema),
});
/** @internal */
exports.CreateLessonPlanLessonPlan1$outboundSchema = z.object({
    lessonPlan: z.lazy(() => exports.CreateLessonPlanLessonPlanLessonPlan1$outboundSchema),
});
/**
 * @internal
 * @deprecated This namespace will be removed in future versions. Use schemas and types that are exported directly from this module.
 */
var CreateLessonPlanLessonPlan1$;
(function (CreateLessonPlanLessonPlan1$) {
    /** @deprecated use `CreateLessonPlanLessonPlan1$inboundSchema` instead. */
    CreateLessonPlanLessonPlan1$.inboundSchema = exports.CreateLessonPlanLessonPlan1$inboundSchema;
    /** @deprecated use `CreateLessonPlanLessonPlan1$outboundSchema` instead. */
    CreateLessonPlanLessonPlan1$.outboundSchema = exports.CreateLessonPlanLessonPlan1$outboundSchema;
})(CreateLessonPlanLessonPlan1$ || (exports.CreateLessonPlanLessonPlan1$ = CreateLessonPlanLessonPlan1$ = {}));
function createLessonPlanLessonPlan1ToJSON(createLessonPlanLessonPlan1) {
    return JSON.stringify(exports.CreateLessonPlanLessonPlan1$outboundSchema.parse(createLessonPlanLessonPlan1));
}
function createLessonPlanLessonPlan1FromJSON(jsonString) {
    return (0, schemas_js_1.safeParse)(jsonString, (x) => exports.CreateLessonPlanLessonPlan1$inboundSchema.parse(JSON.parse(x)), `Failed to parse 'CreateLessonPlanLessonPlan1' from JSON`);
}
/** @internal */
exports.CreateLessonPlanResponseBody1$inboundSchema = z.object({
    lessonPlan: z.lazy(() => exports.CreateLessonPlanLessonPlan1$inboundSchema),
});
/** @internal */
exports.CreateLessonPlanResponseBody1$outboundSchema = z.object({
    lessonPlan: z.lazy(() => exports.CreateLessonPlanLessonPlan1$outboundSchema),
});
/**
 * @internal
 * @deprecated This namespace will be removed in future versions. Use schemas and types that are exported directly from this module.
 */
var CreateLessonPlanResponseBody1$;
(function (CreateLessonPlanResponseBody1$) {
    /** @deprecated use `CreateLessonPlanResponseBody1$inboundSchema` instead. */
    CreateLessonPlanResponseBody1$.inboundSchema = exports.CreateLessonPlanResponseBody1$inboundSchema;
    /** @deprecated use `CreateLessonPlanResponseBody1$outboundSchema` instead. */
    CreateLessonPlanResponseBody1$.outboundSchema = exports.CreateLessonPlanResponseBody1$outboundSchema;
})(CreateLessonPlanResponseBody1$ || (exports.CreateLessonPlanResponseBody1$ = CreateLessonPlanResponseBody1$ = {}));
function createLessonPlanResponseBody1ToJSON(createLessonPlanResponseBody1) {
    return JSON.stringify(exports.CreateLessonPlanResponseBody1$outboundSchema.parse(createLessonPlanResponseBody1));
}
function createLessonPlanResponseBody1FromJSON(jsonString) {
    return (0, schemas_js_1.safeParse)(jsonString, (x) => exports.CreateLessonPlanResponseBody1$inboundSchema.parse(JSON.parse(x)), `Failed to parse 'CreateLessonPlanResponseBody1' from JSON`);
}
/** @internal */
exports.CreateLessonPlanResponse$inboundSchema = z.union([
    z.lazy(() => exports.CreateLessonPlanResponseBody1$inboundSchema),
    z.lazy(() => exports.CreateLessonPlanResponseBody2$inboundSchema),
]);
/** @internal */
exports.CreateLessonPlanResponse$outboundSchema = z.union([
    z.lazy(() => exports.CreateLessonPlanResponseBody1$outboundSchema),
    z.lazy(() => exports.CreateLessonPlanResponseBody2$outboundSchema),
]);
/**
 * @internal
 * @deprecated This namespace will be removed in future versions. Use schemas and types that are exported directly from this module.
 */
var CreateLessonPlanResponse$;
(function (CreateLessonPlanResponse$) {
    /** @deprecated use `CreateLessonPlanResponse$inboundSchema` instead. */
    CreateLessonPlanResponse$.inboundSchema = exports.CreateLessonPlanResponse$inboundSchema;
    /** @deprecated use `CreateLessonPlanResponse$outboundSchema` instead. */
    CreateLessonPlanResponse$.outboundSchema = exports.CreateLessonPlanResponse$outboundSchema;
})(CreateLessonPlanResponse$ || (exports.CreateLessonPlanResponse$ = CreateLessonPlanResponse$ = {}));
function createLessonPlanResponseToJSON(createLessonPlanResponse) {
    return JSON.stringify(exports.CreateLessonPlanResponse$outboundSchema.parse(createLessonPlanResponse));
}
function createLessonPlanResponseFromJSON(jsonString) {
    return (0, schemas_js_1.safeParse)(jsonString, (x) => exports.CreateLessonPlanResponse$inboundSchema.parse(JSON.parse(x)), `Failed to parse 'CreateLessonPlanResponse' from JSON`);
}
//# sourceMappingURL=createlessonplan.js.map