"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.CreateClassResponse$ = exports.CreateClassResponse$outboundSchema = exports.CreateClassResponse$inboundSchema = exports.CreateClassSourcedIdPairs$ = exports.CreateClassSourcedIdPairs$outboundSchema = exports.CreateClassSourcedIdPairs$inboundSchema = exports.CreateClassRequest$ = exports.CreateClassRequest$outboundSchema = exports.CreateClassRequest$inboundSchema = exports.CreateClassClass$ = exports.CreateClassClass$outboundSchema = exports.CreateClassClass$inboundSchema = exports.CreateClassTerm$ = exports.CreateClassTerm$outboundSchema = exports.CreateClassTerm$inboundSchema = exports.CreateClassResource$ = exports.CreateClassResource$outboundSchema = exports.CreateClassResource$inboundSchema = exports.CreateClassOrg$ = exports.CreateClassOrg$outboundSchema = exports.CreateClassOrg$inboundSchema = exports.CreateClassCourse$ = exports.CreateClassCourse$outboundSchema = exports.CreateClassCourse$inboundSchema = exports.CreateClassClassType$ = exports.CreateClassClassType$outboundSchema = exports.CreateClassClassType$inboundSchema = exports.CreateClassStatus$ = exports.CreateClassStatus$outboundSchema = exports.CreateClassStatus$inboundSchema = exports.CreateClassClassType = exports.CreateClassStatus = void 0;
exports.createClassCourseToJSON = createClassCourseToJSON;
exports.createClassCourseFromJSON = createClassCourseFromJSON;
exports.createClassOrgToJSON = createClassOrgToJSON;
exports.createClassOrgFromJSON = createClassOrgFromJSON;
exports.createClassResourceToJSON = createClassResourceToJSON;
exports.createClassResourceFromJSON = createClassResourceFromJSON;
exports.createClassTermToJSON = createClassTermToJSON;
exports.createClassTermFromJSON = createClassTermFromJSON;
exports.createClassClassToJSON = createClassClassToJSON;
exports.createClassClassFromJSON = createClassClassFromJSON;
exports.createClassRequestToJSON = createClassRequestToJSON;
exports.createClassRequestFromJSON = createClassRequestFromJSON;
exports.createClassSourcedIdPairsToJSON = createClassSourcedIdPairsToJSON;
exports.createClassSourcedIdPairsFromJSON = createClassSourcedIdPairsFromJSON;
exports.createClassResponseToJSON = createClassResponseToJSON;
exports.createClassResponseFromJSON = createClassResponseFromJSON;
const z = __importStar(require("zod"));
const schemas_js_1 = require("../../lib/schemas.js");
exports.CreateClassStatus = {
    Active: "active",
    Tobedeleted: "tobedeleted",
};
exports.CreateClassClassType = {
    Homeroom: "homeroom",
    Scheduled: "scheduled",
};
/** @internal */
exports.CreateClassStatus$inboundSchema = z.nativeEnum(exports.CreateClassStatus);
/** @internal */
exports.CreateClassStatus$outboundSchema = exports.CreateClassStatus$inboundSchema;
/**
 * @internal
 * @deprecated This namespace will be removed in future versions. Use schemas and types that are exported directly from this module.
 */
var CreateClassStatus$;
(function (CreateClassStatus$) {
    /** @deprecated use `CreateClassStatus$inboundSchema` instead. */
    CreateClassStatus$.inboundSchema = exports.CreateClassStatus$inboundSchema;
    /** @deprecated use `CreateClassStatus$outboundSchema` instead. */
    CreateClassStatus$.outboundSchema = exports.CreateClassStatus$outboundSchema;
})(CreateClassStatus$ || (exports.CreateClassStatus$ = CreateClassStatus$ = {}));
/** @internal */
exports.CreateClassClassType$inboundSchema = z.nativeEnum(exports.CreateClassClassType);
/** @internal */
exports.CreateClassClassType$outboundSchema = exports.CreateClassClassType$inboundSchema;
/**
 * @internal
 * @deprecated This namespace will be removed in future versions. Use schemas and types that are exported directly from this module.
 */
var CreateClassClassType$;
(function (CreateClassClassType$) {
    /** @deprecated use `CreateClassClassType$inboundSchema` instead. */
    CreateClassClassType$.inboundSchema = exports.CreateClassClassType$inboundSchema;
    /** @deprecated use `CreateClassClassType$outboundSchema` instead. */
    CreateClassClassType$.outboundSchema = exports.CreateClassClassType$outboundSchema;
})(CreateClassClassType$ || (exports.CreateClassClassType$ = CreateClassClassType$ = {}));
/** @internal */
exports.CreateClassCourse$inboundSchema = z.object({
    sourcedId: z.string(),
});
/** @internal */
exports.CreateClassCourse$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 CreateClassCourse$;
(function (CreateClassCourse$) {
    /** @deprecated use `CreateClassCourse$inboundSchema` instead. */
    CreateClassCourse$.inboundSchema = exports.CreateClassCourse$inboundSchema;
    /** @deprecated use `CreateClassCourse$outboundSchema` instead. */
    CreateClassCourse$.outboundSchema = exports.CreateClassCourse$outboundSchema;
})(CreateClassCourse$ || (exports.CreateClassCourse$ = CreateClassCourse$ = {}));
function createClassCourseToJSON(createClassCourse) {
    return JSON.stringify(exports.CreateClassCourse$outboundSchema.parse(createClassCourse));
}
function createClassCourseFromJSON(jsonString) {
    return (0, schemas_js_1.safeParse)(jsonString, (x) => exports.CreateClassCourse$inboundSchema.parse(JSON.parse(x)), `Failed to parse 'CreateClassCourse' from JSON`);
}
/** @internal */
exports.CreateClassOrg$inboundSchema = z.object({
    sourcedId: z.string(),
});
/** @internal */
exports.CreateClassOrg$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 CreateClassOrg$;
(function (CreateClassOrg$) {
    /** @deprecated use `CreateClassOrg$inboundSchema` instead. */
    CreateClassOrg$.inboundSchema = exports.CreateClassOrg$inboundSchema;
    /** @deprecated use `CreateClassOrg$outboundSchema` instead. */
    CreateClassOrg$.outboundSchema = exports.CreateClassOrg$outboundSchema;
})(CreateClassOrg$ || (exports.CreateClassOrg$ = CreateClassOrg$ = {}));
function createClassOrgToJSON(createClassOrg) {
    return JSON.stringify(exports.CreateClassOrg$outboundSchema.parse(createClassOrg));
}
function createClassOrgFromJSON(jsonString) {
    return (0, schemas_js_1.safeParse)(jsonString, (x) => exports.CreateClassOrg$inboundSchema.parse(JSON.parse(x)), `Failed to parse 'CreateClassOrg' from JSON`);
}
/** @internal */
exports.CreateClassResource$inboundSchema = z.object({
    sourcedId: z.string(),
});
/** @internal */
exports.CreateClassResource$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 CreateClassResource$;
(function (CreateClassResource$) {
    /** @deprecated use `CreateClassResource$inboundSchema` instead. */
    CreateClassResource$.inboundSchema = exports.CreateClassResource$inboundSchema;
    /** @deprecated use `CreateClassResource$outboundSchema` instead. */
    CreateClassResource$.outboundSchema = exports.CreateClassResource$outboundSchema;
})(CreateClassResource$ || (exports.CreateClassResource$ = CreateClassResource$ = {}));
function createClassResourceToJSON(createClassResource) {
    return JSON.stringify(exports.CreateClassResource$outboundSchema.parse(createClassResource));
}
function createClassResourceFromJSON(jsonString) {
    return (0, schemas_js_1.safeParse)(jsonString, (x) => exports.CreateClassResource$inboundSchema.parse(JSON.parse(x)), `Failed to parse 'CreateClassResource' from JSON`);
}
/** @internal */
exports.CreateClassTerm$inboundSchema = z.object({
    sourcedId: z.string(),
});
/** @internal */
exports.CreateClassTerm$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 CreateClassTerm$;
(function (CreateClassTerm$) {
    /** @deprecated use `CreateClassTerm$inboundSchema` instead. */
    CreateClassTerm$.inboundSchema = exports.CreateClassTerm$inboundSchema;
    /** @deprecated use `CreateClassTerm$outboundSchema` instead. */
    CreateClassTerm$.outboundSchema = exports.CreateClassTerm$outboundSchema;
})(CreateClassTerm$ || (exports.CreateClassTerm$ = CreateClassTerm$ = {}));
function createClassTermToJSON(createClassTerm) {
    return JSON.stringify(exports.CreateClassTerm$outboundSchema.parse(createClassTerm));
}
function createClassTermFromJSON(jsonString) {
    return (0, schemas_js_1.safeParse)(jsonString, (x) => exports.CreateClassTerm$inboundSchema.parse(JSON.parse(x)), `Failed to parse 'CreateClassTerm' from JSON`);
}
/** @internal */
exports.CreateClassClass$inboundSchema = z.object({
    sourcedId: z.string().optional(),
    status: exports.CreateClassStatus$inboundSchema.default("active"),
    metadata: z.record(z.any()).optional(),
    title: z.string(),
    classCode: z.string().optional(),
    classType: exports.CreateClassClassType$inboundSchema.optional(),
    location: z.string().optional(),
    grades: z.array(z.string()).optional(),
    subjects: z.array(z.string()).optional(),
    course: z.lazy(() => exports.CreateClassCourse$inboundSchema),
    org: z.lazy(() => exports.CreateClassOrg$inboundSchema),
    subjectCodes: z.array(z.string()).optional(),
    periods: z.array(z.string()).optional(),
    resources: z.array(z.lazy(() => exports.CreateClassResource$inboundSchema))
        .optional(),
    terms: z.array(z.lazy(() => exports.CreateClassTerm$inboundSchema)),
});
/** @internal */
exports.CreateClassClass$outboundSchema = z.object({
    sourcedId: z.string().optional(),
    status: exports.CreateClassStatus$outboundSchema.default("active"),
    metadata: z.record(z.any()).optional(),
    title: z.string(),
    classCode: z.string().optional(),
    classType: exports.CreateClassClassType$outboundSchema.optional(),
    location: z.string().optional(),
    grades: z.array(z.string()).optional(),
    subjects: z.array(z.string()).optional(),
    course: z.lazy(() => exports.CreateClassCourse$outboundSchema),
    org: z.lazy(() => exports.CreateClassOrg$outboundSchema),
    subjectCodes: z.array(z.string()).optional(),
    periods: z.array(z.string()).optional(),
    resources: z.array(z.lazy(() => exports.CreateClassResource$outboundSchema))
        .optional(),
    terms: z.array(z.lazy(() => exports.CreateClassTerm$outboundSchema)),
});
/**
 * @internal
 * @deprecated This namespace will be removed in future versions. Use schemas and types that are exported directly from this module.
 */
var CreateClassClass$;
(function (CreateClassClass$) {
    /** @deprecated use `CreateClassClass$inboundSchema` instead. */
    CreateClassClass$.inboundSchema = exports.CreateClassClass$inboundSchema;
    /** @deprecated use `CreateClassClass$outboundSchema` instead. */
    CreateClassClass$.outboundSchema = exports.CreateClassClass$outboundSchema;
})(CreateClassClass$ || (exports.CreateClassClass$ = CreateClassClass$ = {}));
function createClassClassToJSON(createClassClass) {
    return JSON.stringify(exports.CreateClassClass$outboundSchema.parse(createClassClass));
}
function createClassClassFromJSON(jsonString) {
    return (0, schemas_js_1.safeParse)(jsonString, (x) => exports.CreateClassClass$inboundSchema.parse(JSON.parse(x)), `Failed to parse 'CreateClassClass' from JSON`);
}
/** @internal */
exports.CreateClassRequest$inboundSchema = z.object({
    class: z.lazy(() => exports.CreateClassClass$inboundSchema),
});
/** @internal */
exports.CreateClassRequest$outboundSchema = z.object({
    class: z.lazy(() => exports.CreateClassClass$outboundSchema),
});
/**
 * @internal
 * @deprecated This namespace will be removed in future versions. Use schemas and types that are exported directly from this module.
 */
var CreateClassRequest$;
(function (CreateClassRequest$) {
    /** @deprecated use `CreateClassRequest$inboundSchema` instead. */
    CreateClassRequest$.inboundSchema = exports.CreateClassRequest$inboundSchema;
    /** @deprecated use `CreateClassRequest$outboundSchema` instead. */
    CreateClassRequest$.outboundSchema = exports.CreateClassRequest$outboundSchema;
})(CreateClassRequest$ || (exports.CreateClassRequest$ = CreateClassRequest$ = {}));
function createClassRequestToJSON(createClassRequest) {
    return JSON.stringify(exports.CreateClassRequest$outboundSchema.parse(createClassRequest));
}
function createClassRequestFromJSON(jsonString) {
    return (0, schemas_js_1.safeParse)(jsonString, (x) => exports.CreateClassRequest$inboundSchema.parse(JSON.parse(x)), `Failed to parse 'CreateClassRequest' from JSON`);
}
/** @internal */
exports.CreateClassSourcedIdPairs$inboundSchema = z.object({
    suppliedSourcedId: z.string(),
    allocatedSourcedId: z.string(),
});
/** @internal */
exports.CreateClassSourcedIdPairs$outboundSchema = z.object({
    suppliedSourcedId: z.string(),
    allocatedSourcedId: z.string(),
});
/**
 * @internal
 * @deprecated This namespace will be removed in future versions. Use schemas and types that are exported directly from this module.
 */
var CreateClassSourcedIdPairs$;
(function (CreateClassSourcedIdPairs$) {
    /** @deprecated use `CreateClassSourcedIdPairs$inboundSchema` instead. */
    CreateClassSourcedIdPairs$.inboundSchema = exports.CreateClassSourcedIdPairs$inboundSchema;
    /** @deprecated use `CreateClassSourcedIdPairs$outboundSchema` instead. */
    CreateClassSourcedIdPairs$.outboundSchema = exports.CreateClassSourcedIdPairs$outboundSchema;
})(CreateClassSourcedIdPairs$ || (exports.CreateClassSourcedIdPairs$ = CreateClassSourcedIdPairs$ = {}));
function createClassSourcedIdPairsToJSON(createClassSourcedIdPairs) {
    return JSON.stringify(exports.CreateClassSourcedIdPairs$outboundSchema.parse(createClassSourcedIdPairs));
}
function createClassSourcedIdPairsFromJSON(jsonString) {
    return (0, schemas_js_1.safeParse)(jsonString, (x) => exports.CreateClassSourcedIdPairs$inboundSchema.parse(JSON.parse(x)), `Failed to parse 'CreateClassSourcedIdPairs' from JSON`);
}
/** @internal */
exports.CreateClassResponse$inboundSchema = z.object({
    sourcedIdPairs: z.lazy(() => exports.CreateClassSourcedIdPairs$inboundSchema),
});
/** @internal */
exports.CreateClassResponse$outboundSchema = z.object({
    sourcedIdPairs: z.lazy(() => exports.CreateClassSourcedIdPairs$outboundSchema),
});
/**
 * @internal
 * @deprecated This namespace will be removed in future versions. Use schemas and types that are exported directly from this module.
 */
var CreateClassResponse$;
(function (CreateClassResponse$) {
    /** @deprecated use `CreateClassResponse$inboundSchema` instead. */
    CreateClassResponse$.inboundSchema = exports.CreateClassResponse$inboundSchema;
    /** @deprecated use `CreateClassResponse$outboundSchema` instead. */
    CreateClassResponse$.outboundSchema = exports.CreateClassResponse$outboundSchema;
})(CreateClassResponse$ || (exports.CreateClassResponse$ = CreateClassResponse$ = {}));
function createClassResponseToJSON(createClassResponse) {
    return JSON.stringify(exports.CreateClassResponse$outboundSchema.parse(createClassResponse));
}
function createClassResponseFromJSON(jsonString) {
    return (0, schemas_js_1.safeParse)(jsonString, (x) => exports.CreateClassResponse$inboundSchema.parse(JSON.parse(x)), `Failed to parse 'CreateClassResponse' from JSON`);
}
//# sourceMappingURL=createclass.js.map