"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.GetTeachersForClassResponse$ = exports.GetTeachersForClassResponse$outboundSchema = exports.GetTeachersForClassResponse$inboundSchema = exports.GetTeachersForClassResponseBody$ = exports.GetTeachersForClassResponseBody$outboundSchema = exports.GetTeachersForClassResponseBody$inboundSchema = exports.Teacher$ = exports.Teacher$outboundSchema = exports.Teacher$inboundSchema = exports.GetTeachersForClassPrimaryOrg$ = exports.GetTeachersForClassPrimaryOrg$outboundSchema = exports.GetTeachersForClassPrimaryOrg$inboundSchema = exports.GetTeachersForClassAgent$ = exports.GetTeachersForClassAgent$outboundSchema = exports.GetTeachersForClassAgent$inboundSchema = exports.GetTeachersForClassType$ = exports.GetTeachersForClassType$outboundSchema = exports.GetTeachersForClassType$inboundSchema = exports.GetTeachersForClassRole$ = exports.GetTeachersForClassRole$outboundSchema = exports.GetTeachersForClassRole$inboundSchema = exports.GetTeachersForClassOrg$ = exports.GetTeachersForClassOrg$outboundSchema = exports.GetTeachersForClassOrg$inboundSchema = exports.GetTeachersForClassRoleEnum$ = exports.GetTeachersForClassRoleEnum$outboundSchema = exports.GetTeachersForClassRoleEnum$inboundSchema = exports.GetTeachersForClassRoleType$ = exports.GetTeachersForClassRoleType$outboundSchema = exports.GetTeachersForClassRoleType$inboundSchema = exports.GetTeachersForClassUserId$ = exports.GetTeachersForClassUserId$outboundSchema = exports.GetTeachersForClassUserId$inboundSchema = exports.GetTeachersForClassStatus$ = exports.GetTeachersForClassStatus$outboundSchema = exports.GetTeachersForClassStatus$inboundSchema = exports.GetTeachersForClassRequest$ = exports.GetTeachersForClassRequest$outboundSchema = exports.GetTeachersForClassRequest$inboundSchema = exports.GetTeachersForClassOrderBy$ = exports.GetTeachersForClassOrderBy$outboundSchema = exports.GetTeachersForClassOrderBy$inboundSchema = exports.GetTeachersForClassType = exports.GetTeachersForClassRoleEnum = exports.GetTeachersForClassRoleType = exports.GetTeachersForClassStatus = exports.GetTeachersForClassOrderBy = void 0;
exports.getTeachersForClassRequestToJSON = getTeachersForClassRequestToJSON;
exports.getTeachersForClassRequestFromJSON = getTeachersForClassRequestFromJSON;
exports.getTeachersForClassUserIdToJSON = getTeachersForClassUserIdToJSON;
exports.getTeachersForClassUserIdFromJSON = getTeachersForClassUserIdFromJSON;
exports.getTeachersForClassOrgToJSON = getTeachersForClassOrgToJSON;
exports.getTeachersForClassOrgFromJSON = getTeachersForClassOrgFromJSON;
exports.getTeachersForClassRoleToJSON = getTeachersForClassRoleToJSON;
exports.getTeachersForClassRoleFromJSON = getTeachersForClassRoleFromJSON;
exports.getTeachersForClassAgentToJSON = getTeachersForClassAgentToJSON;
exports.getTeachersForClassAgentFromJSON = getTeachersForClassAgentFromJSON;
exports.getTeachersForClassPrimaryOrgToJSON = getTeachersForClassPrimaryOrgToJSON;
exports.getTeachersForClassPrimaryOrgFromJSON = getTeachersForClassPrimaryOrgFromJSON;
exports.teacherToJSON = teacherToJSON;
exports.teacherFromJSON = teacherFromJSON;
exports.getTeachersForClassResponseBodyToJSON = getTeachersForClassResponseBodyToJSON;
exports.getTeachersForClassResponseBodyFromJSON = getTeachersForClassResponseBodyFromJSON;
exports.getTeachersForClassResponseToJSON = getTeachersForClassResponseToJSON;
exports.getTeachersForClassResponseFromJSON = getTeachersForClassResponseFromJSON;
const z = __importStar(require("zod"));
const primitives_js_1 = require("../../lib/primitives.js");
const schemas_js_1 = require("../../lib/schemas.js");
/**
 * The order to sort the response by
 */
exports.GetTeachersForClassOrderBy = {
    Asc: "asc",
    Desc: "desc",
};
exports.GetTeachersForClassStatus = {
    Active: "active",
    Tobedeleted: "tobedeleted",
};
exports.GetTeachersForClassRoleType = {
    Primary: "primary",
    Secondary: "secondary",
};
exports.GetTeachersForClassRoleEnum = {
    Administrator: "administrator",
    Aide: "aide",
    Guardian: "guardian",
    Parent: "parent",
    Proctor: "proctor",
    Relative: "relative",
    Student: "student",
    Teacher: "teacher",
};
exports.GetTeachersForClassType = {
    AcademicSession: "academicSession",
    AssessmentLineItem: "assessmentLineItem",
    Category: "category",
    Class: "class",
    Course: "course",
    Demographics: "demographics",
    Enrollment: "enrollment",
    GradingPeriod: "gradingPeriod",
    LineItem: "lineItem",
    Org: "org",
    Resource: "resource",
    Result: "result",
    ScoreScale: "scoreScale",
    Student: "student",
    Teacher: "teacher",
    Term: "term",
    User: "user",
    ComponentResource: "componentResource",
    CourseComponent: "courseComponent",
};
/** @internal */
exports.GetTeachersForClassOrderBy$inboundSchema = z.nativeEnum(exports.GetTeachersForClassOrderBy);
/** @internal */
exports.GetTeachersForClassOrderBy$outboundSchema = exports.GetTeachersForClassOrderBy$inboundSchema;
/**
 * @internal
 * @deprecated This namespace will be removed in future versions. Use schemas and types that are exported directly from this module.
 */
var GetTeachersForClassOrderBy$;
(function (GetTeachersForClassOrderBy$) {
    /** @deprecated use `GetTeachersForClassOrderBy$inboundSchema` instead. */
    GetTeachersForClassOrderBy$.inboundSchema = exports.GetTeachersForClassOrderBy$inboundSchema;
    /** @deprecated use `GetTeachersForClassOrderBy$outboundSchema` instead. */
    GetTeachersForClassOrderBy$.outboundSchema = exports.GetTeachersForClassOrderBy$outboundSchema;
})(GetTeachersForClassOrderBy$ || (exports.GetTeachersForClassOrderBy$ = GetTeachersForClassOrderBy$ = {}));
/** @internal */
exports.GetTeachersForClassRequest$inboundSchema = z.object({
    classSourcedId: z.string(),
    fields: z.string().optional(),
    limit: z.number().int().default(100),
    offset: z.number().int().default(0),
    sort: z.string().optional(),
    orderBy: exports.GetTeachersForClassOrderBy$inboundSchema.optional(),
    filter: z.string().optional(),
    search: z.string().optional(),
});
/** @internal */
exports.GetTeachersForClassRequest$outboundSchema = z.object({
    classSourcedId: z.string(),
    fields: z.string().optional(),
    limit: z.number().int().default(100),
    offset: z.number().int().default(0),
    sort: z.string().optional(),
    orderBy: exports.GetTeachersForClassOrderBy$outboundSchema.optional(),
    filter: z.string().optional(),
    search: 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 GetTeachersForClassRequest$;
(function (GetTeachersForClassRequest$) {
    /** @deprecated use `GetTeachersForClassRequest$inboundSchema` instead. */
    GetTeachersForClassRequest$.inboundSchema = exports.GetTeachersForClassRequest$inboundSchema;
    /** @deprecated use `GetTeachersForClassRequest$outboundSchema` instead. */
    GetTeachersForClassRequest$.outboundSchema = exports.GetTeachersForClassRequest$outboundSchema;
})(GetTeachersForClassRequest$ || (exports.GetTeachersForClassRequest$ = GetTeachersForClassRequest$ = {}));
function getTeachersForClassRequestToJSON(getTeachersForClassRequest) {
    return JSON.stringify(exports.GetTeachersForClassRequest$outboundSchema.parse(getTeachersForClassRequest));
}
function getTeachersForClassRequestFromJSON(jsonString) {
    return (0, schemas_js_1.safeParse)(jsonString, (x) => exports.GetTeachersForClassRequest$inboundSchema.parse(JSON.parse(x)), `Failed to parse 'GetTeachersForClassRequest' from JSON`);
}
/** @internal */
exports.GetTeachersForClassStatus$inboundSchema = z.nativeEnum(exports.GetTeachersForClassStatus);
/** @internal */
exports.GetTeachersForClassStatus$outboundSchema = exports.GetTeachersForClassStatus$inboundSchema;
/**
 * @internal
 * @deprecated This namespace will be removed in future versions. Use schemas and types that are exported directly from this module.
 */
var GetTeachersForClassStatus$;
(function (GetTeachersForClassStatus$) {
    /** @deprecated use `GetTeachersForClassStatus$inboundSchema` instead. */
    GetTeachersForClassStatus$.inboundSchema = exports.GetTeachersForClassStatus$inboundSchema;
    /** @deprecated use `GetTeachersForClassStatus$outboundSchema` instead. */
    GetTeachersForClassStatus$.outboundSchema = exports.GetTeachersForClassStatus$outboundSchema;
})(GetTeachersForClassStatus$ || (exports.GetTeachersForClassStatus$ = GetTeachersForClassStatus$ = {}));
/** @internal */
exports.GetTeachersForClassUserId$inboundSchema = z.object({
    type: z.string(),
    identifier: z.string(),
});
/** @internal */
exports.GetTeachersForClassUserId$outboundSchema = z.object({
    type: z.string(),
    identifier: z.string(),
});
/**
 * @internal
 * @deprecated This namespace will be removed in future versions. Use schemas and types that are exported directly from this module.
 */
var GetTeachersForClassUserId$;
(function (GetTeachersForClassUserId$) {
    /** @deprecated use `GetTeachersForClassUserId$inboundSchema` instead. */
    GetTeachersForClassUserId$.inboundSchema = exports.GetTeachersForClassUserId$inboundSchema;
    /** @deprecated use `GetTeachersForClassUserId$outboundSchema` instead. */
    GetTeachersForClassUserId$.outboundSchema = exports.GetTeachersForClassUserId$outboundSchema;
})(GetTeachersForClassUserId$ || (exports.GetTeachersForClassUserId$ = GetTeachersForClassUserId$ = {}));
function getTeachersForClassUserIdToJSON(getTeachersForClassUserId) {
    return JSON.stringify(exports.GetTeachersForClassUserId$outboundSchema.parse(getTeachersForClassUserId));
}
function getTeachersForClassUserIdFromJSON(jsonString) {
    return (0, schemas_js_1.safeParse)(jsonString, (x) => exports.GetTeachersForClassUserId$inboundSchema.parse(JSON.parse(x)), `Failed to parse 'GetTeachersForClassUserId' from JSON`);
}
/** @internal */
exports.GetTeachersForClassRoleType$inboundSchema = z.nativeEnum(exports.GetTeachersForClassRoleType);
/** @internal */
exports.GetTeachersForClassRoleType$outboundSchema = exports.GetTeachersForClassRoleType$inboundSchema;
/**
 * @internal
 * @deprecated This namespace will be removed in future versions. Use schemas and types that are exported directly from this module.
 */
var GetTeachersForClassRoleType$;
(function (GetTeachersForClassRoleType$) {
    /** @deprecated use `GetTeachersForClassRoleType$inboundSchema` instead. */
    GetTeachersForClassRoleType$.inboundSchema = exports.GetTeachersForClassRoleType$inboundSchema;
    /** @deprecated use `GetTeachersForClassRoleType$outboundSchema` instead. */
    GetTeachersForClassRoleType$.outboundSchema = exports.GetTeachersForClassRoleType$outboundSchema;
})(GetTeachersForClassRoleType$ || (exports.GetTeachersForClassRoleType$ = GetTeachersForClassRoleType$ = {}));
/** @internal */
exports.GetTeachersForClassRoleEnum$inboundSchema = z.nativeEnum(exports.GetTeachersForClassRoleEnum);
/** @internal */
exports.GetTeachersForClassRoleEnum$outboundSchema = exports.GetTeachersForClassRoleEnum$inboundSchema;
/**
 * @internal
 * @deprecated This namespace will be removed in future versions. Use schemas and types that are exported directly from this module.
 */
var GetTeachersForClassRoleEnum$;
(function (GetTeachersForClassRoleEnum$) {
    /** @deprecated use `GetTeachersForClassRoleEnum$inboundSchema` instead. */
    GetTeachersForClassRoleEnum$.inboundSchema = exports.GetTeachersForClassRoleEnum$inboundSchema;
    /** @deprecated use `GetTeachersForClassRoleEnum$outboundSchema` instead. */
    GetTeachersForClassRoleEnum$.outboundSchema = exports.GetTeachersForClassRoleEnum$outboundSchema;
})(GetTeachersForClassRoleEnum$ || (exports.GetTeachersForClassRoleEnum$ = GetTeachersForClassRoleEnum$ = {}));
/** @internal */
exports.GetTeachersForClassOrg$inboundSchema = z.object({
    href: z.string(),
    sourcedId: z.string(),
    type: z.string(),
});
/** @internal */
exports.GetTeachersForClassOrg$outboundSchema = z.object({
    href: z.string(),
    sourcedId: z.string(),
    type: z.string(),
});
/**
 * @internal
 * @deprecated This namespace will be removed in future versions. Use schemas and types that are exported directly from this module.
 */
var GetTeachersForClassOrg$;
(function (GetTeachersForClassOrg$) {
    /** @deprecated use `GetTeachersForClassOrg$inboundSchema` instead. */
    GetTeachersForClassOrg$.inboundSchema = exports.GetTeachersForClassOrg$inboundSchema;
    /** @deprecated use `GetTeachersForClassOrg$outboundSchema` instead. */
    GetTeachersForClassOrg$.outboundSchema = exports.GetTeachersForClassOrg$outboundSchema;
})(GetTeachersForClassOrg$ || (exports.GetTeachersForClassOrg$ = GetTeachersForClassOrg$ = {}));
function getTeachersForClassOrgToJSON(getTeachersForClassOrg) {
    return JSON.stringify(exports.GetTeachersForClassOrg$outboundSchema.parse(getTeachersForClassOrg));
}
function getTeachersForClassOrgFromJSON(jsonString) {
    return (0, schemas_js_1.safeParse)(jsonString, (x) => exports.GetTeachersForClassOrg$inboundSchema.parse(JSON.parse(x)), `Failed to parse 'GetTeachersForClassOrg' from JSON`);
}
/** @internal */
exports.GetTeachersForClassRole$inboundSchema = z.object({
    roleType: exports.GetTeachersForClassRoleType$inboundSchema,
    role: exports.GetTeachersForClassRoleEnum$inboundSchema,
    org: z.lazy(() => exports.GetTeachersForClassOrg$inboundSchema),
    userProfile: z.string().optional(),
    beginDate: z.nullable(z.string()),
    endDate: z.nullable(z.string()),
});
/** @internal */
exports.GetTeachersForClassRole$outboundSchema = z.object({
    roleType: exports.GetTeachersForClassRoleType$outboundSchema,
    role: exports.GetTeachersForClassRoleEnum$outboundSchema,
    org: z.lazy(() => exports.GetTeachersForClassOrg$outboundSchema),
    userProfile: z.string().optional(),
    beginDate: z.nullable(z.string()),
    endDate: z.nullable(z.string()),
});
/**
 * @internal
 * @deprecated This namespace will be removed in future versions. Use schemas and types that are exported directly from this module.
 */
var GetTeachersForClassRole$;
(function (GetTeachersForClassRole$) {
    /** @deprecated use `GetTeachersForClassRole$inboundSchema` instead. */
    GetTeachersForClassRole$.inboundSchema = exports.GetTeachersForClassRole$inboundSchema;
    /** @deprecated use `GetTeachersForClassRole$outboundSchema` instead. */
    GetTeachersForClassRole$.outboundSchema = exports.GetTeachersForClassRole$outboundSchema;
})(GetTeachersForClassRole$ || (exports.GetTeachersForClassRole$ = GetTeachersForClassRole$ = {}));
function getTeachersForClassRoleToJSON(getTeachersForClassRole) {
    return JSON.stringify(exports.GetTeachersForClassRole$outboundSchema.parse(getTeachersForClassRole));
}
function getTeachersForClassRoleFromJSON(jsonString) {
    return (0, schemas_js_1.safeParse)(jsonString, (x) => exports.GetTeachersForClassRole$inboundSchema.parse(JSON.parse(x)), `Failed to parse 'GetTeachersForClassRole' from JSON`);
}
/** @internal */
exports.GetTeachersForClassType$inboundSchema = z.nativeEnum(exports.GetTeachersForClassType);
/** @internal */
exports.GetTeachersForClassType$outboundSchema = exports.GetTeachersForClassType$inboundSchema;
/**
 * @internal
 * @deprecated This namespace will be removed in future versions. Use schemas and types that are exported directly from this module.
 */
var GetTeachersForClassType$;
(function (GetTeachersForClassType$) {
    /** @deprecated use `GetTeachersForClassType$inboundSchema` instead. */
    GetTeachersForClassType$.inboundSchema = exports.GetTeachersForClassType$inboundSchema;
    /** @deprecated use `GetTeachersForClassType$outboundSchema` instead. */
    GetTeachersForClassType$.outboundSchema = exports.GetTeachersForClassType$outboundSchema;
})(GetTeachersForClassType$ || (exports.GetTeachersForClassType$ = GetTeachersForClassType$ = {}));
/** @internal */
exports.GetTeachersForClassAgent$inboundSchema = z.object({
    href: z.string(),
    sourcedId: z.string(),
    type: exports.GetTeachersForClassType$inboundSchema,
});
/** @internal */
exports.GetTeachersForClassAgent$outboundSchema = z.object({
    href: z.string(),
    sourcedId: z.string(),
    type: exports.GetTeachersForClassType$outboundSchema,
});
/**
 * @internal
 * @deprecated This namespace will be removed in future versions. Use schemas and types that are exported directly from this module.
 */
var GetTeachersForClassAgent$;
(function (GetTeachersForClassAgent$) {
    /** @deprecated use `GetTeachersForClassAgent$inboundSchema` instead. */
    GetTeachersForClassAgent$.inboundSchema = exports.GetTeachersForClassAgent$inboundSchema;
    /** @deprecated use `GetTeachersForClassAgent$outboundSchema` instead. */
    GetTeachersForClassAgent$.outboundSchema = exports.GetTeachersForClassAgent$outboundSchema;
})(GetTeachersForClassAgent$ || (exports.GetTeachersForClassAgent$ = GetTeachersForClassAgent$ = {}));
function getTeachersForClassAgentToJSON(getTeachersForClassAgent) {
    return JSON.stringify(exports.GetTeachersForClassAgent$outboundSchema.parse(getTeachersForClassAgent));
}
function getTeachersForClassAgentFromJSON(jsonString) {
    return (0, schemas_js_1.safeParse)(jsonString, (x) => exports.GetTeachersForClassAgent$inboundSchema.parse(JSON.parse(x)), `Failed to parse 'GetTeachersForClassAgent' from JSON`);
}
/** @internal */
exports.GetTeachersForClassPrimaryOrg$inboundSchema = z.object({
    href: z.string(),
    sourcedId: z.string(),
    type: z.string(),
});
/** @internal */
exports.GetTeachersForClassPrimaryOrg$outboundSchema = z.object({
    href: z.string(),
    sourcedId: z.string(),
    type: z.string(),
});
/**
 * @internal
 * @deprecated This namespace will be removed in future versions. Use schemas and types that are exported directly from this module.
 */
var GetTeachersForClassPrimaryOrg$;
(function (GetTeachersForClassPrimaryOrg$) {
    /** @deprecated use `GetTeachersForClassPrimaryOrg$inboundSchema` instead. */
    GetTeachersForClassPrimaryOrg$.inboundSchema = exports.GetTeachersForClassPrimaryOrg$inboundSchema;
    /** @deprecated use `GetTeachersForClassPrimaryOrg$outboundSchema` instead. */
    GetTeachersForClassPrimaryOrg$.outboundSchema = exports.GetTeachersForClassPrimaryOrg$outboundSchema;
})(GetTeachersForClassPrimaryOrg$ || (exports.GetTeachersForClassPrimaryOrg$ = GetTeachersForClassPrimaryOrg$ = {}));
function getTeachersForClassPrimaryOrgToJSON(getTeachersForClassPrimaryOrg) {
    return JSON.stringify(exports.GetTeachersForClassPrimaryOrg$outboundSchema.parse(getTeachersForClassPrimaryOrg));
}
function getTeachersForClassPrimaryOrgFromJSON(jsonString) {
    return (0, schemas_js_1.safeParse)(jsonString, (x) => exports.GetTeachersForClassPrimaryOrg$inboundSchema.parse(JSON.parse(x)), `Failed to parse 'GetTeachersForClassPrimaryOrg' from JSON`);
}
/** @internal */
exports.Teacher$inboundSchema = z.object({
    sourcedId: z.string(),
    status: exports.GetTeachersForClassStatus$inboundSchema,
    dateLastModified: z.string().datetime({ offset: true }).transform(v => new Date(v)).optional(),
    metadata: z.nullable(z.record(z.any())).optional(),
    userMasterIdentifier: z.nullable(z.string()).optional(),
    username: z.nullable(z.string()).optional(),
    userIds: z.array(z.lazy(() => exports.GetTeachersForClassUserId$inboundSchema))
        .optional(),
    enabledUser: z.boolean(),
    givenName: z.string(),
    familyName: z.string(),
    middleName: z.nullable(z.string()).optional(),
    roles: z.array(z.lazy(() => exports.GetTeachersForClassRole$inboundSchema)),
    agents: z.array(z.lazy(() => exports.GetTeachersForClassAgent$inboundSchema)),
    primaryOrg: z.lazy(() => exports.GetTeachersForClassPrimaryOrg$inboundSchema)
        .optional(),
    email: z.nullable(z.string()).optional(),
    preferredFirstName: z.nullable(z.string()).optional(),
    preferredMiddleName: z.nullable(z.string()).optional(),
    preferredLastName: z.nullable(z.string()).optional(),
    pronouns: z.nullable(z.string()).optional(),
    grades: z.array(z.string()).optional(),
    password: z.nullable(z.string()).optional(),
    sms: z.nullable(z.string()).optional(),
    phone: z.nullable(z.string()).optional(),
});
/** @internal */
exports.Teacher$outboundSchema = z.object({
    sourcedId: z.string(),
    status: exports.GetTeachersForClassStatus$outboundSchema,
    dateLastModified: z.date().transform(v => v.toISOString()).optional(),
    metadata: z.nullable(z.record(z.any())).optional(),
    userMasterIdentifier: z.nullable(z.string()).optional(),
    username: z.nullable(z.string()).optional(),
    userIds: z.array(z.lazy(() => exports.GetTeachersForClassUserId$outboundSchema))
        .optional(),
    enabledUser: z.boolean(),
    givenName: z.string(),
    familyName: z.string(),
    middleName: z.nullable(z.string()).optional(),
    roles: z.array(z.lazy(() => exports.GetTeachersForClassRole$outboundSchema)),
    agents: z.array(z.lazy(() => exports.GetTeachersForClassAgent$outboundSchema)),
    primaryOrg: z.lazy(() => exports.GetTeachersForClassPrimaryOrg$outboundSchema)
        .optional(),
    email: z.nullable(z.string()).optional(),
    preferredFirstName: z.nullable(z.string()).optional(),
    preferredMiddleName: z.nullable(z.string()).optional(),
    preferredLastName: z.nullable(z.string()).optional(),
    pronouns: z.nullable(z.string()).optional(),
    grades: z.array(z.string()).optional(),
    password: z.nullable(z.string()).optional(),
    sms: z.nullable(z.string()).optional(),
    phone: 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 Teacher$;
(function (Teacher$) {
    /** @deprecated use `Teacher$inboundSchema` instead. */
    Teacher$.inboundSchema = exports.Teacher$inboundSchema;
    /** @deprecated use `Teacher$outboundSchema` instead. */
    Teacher$.outboundSchema = exports.Teacher$outboundSchema;
})(Teacher$ || (exports.Teacher$ = Teacher$ = {}));
function teacherToJSON(teacher) {
    return JSON.stringify(exports.Teacher$outboundSchema.parse(teacher));
}
function teacherFromJSON(jsonString) {
    return (0, schemas_js_1.safeParse)(jsonString, (x) => exports.Teacher$inboundSchema.parse(JSON.parse(x)), `Failed to parse 'Teacher' from JSON`);
}
/** @internal */
exports.GetTeachersForClassResponseBody$inboundSchema = z.object({
    teachers: z.array(z.lazy(() => exports.Teacher$inboundSchema)),
    totalCount: z.number(),
    pageCount: z.number(),
    pageNumber: z.number(),
    offset: z.number(),
    limit: z.number(),
});
/** @internal */
exports.GetTeachersForClassResponseBody$outboundSchema = z.object({
    teachers: z.array(z.lazy(() => exports.Teacher$outboundSchema)),
    totalCount: z.number(),
    pageCount: z.number(),
    pageNumber: z.number(),
    offset: z.number(),
    limit: z.number(),
});
/**
 * @internal
 * @deprecated This namespace will be removed in future versions. Use schemas and types that are exported directly from this module.
 */
var GetTeachersForClassResponseBody$;
(function (GetTeachersForClassResponseBody$) {
    /** @deprecated use `GetTeachersForClassResponseBody$inboundSchema` instead. */
    GetTeachersForClassResponseBody$.inboundSchema = exports.GetTeachersForClassResponseBody$inboundSchema;
    /** @deprecated use `GetTeachersForClassResponseBody$outboundSchema` instead. */
    GetTeachersForClassResponseBody$.outboundSchema = exports.GetTeachersForClassResponseBody$outboundSchema;
})(GetTeachersForClassResponseBody$ || (exports.GetTeachersForClassResponseBody$ = GetTeachersForClassResponseBody$ = {}));
function getTeachersForClassResponseBodyToJSON(getTeachersForClassResponseBody) {
    return JSON.stringify(exports.GetTeachersForClassResponseBody$outboundSchema.parse(getTeachersForClassResponseBody));
}
function getTeachersForClassResponseBodyFromJSON(jsonString) {
    return (0, schemas_js_1.safeParse)(jsonString, (x) => exports.GetTeachersForClassResponseBody$inboundSchema.parse(JSON.parse(x)), `Failed to parse 'GetTeachersForClassResponseBody' from JSON`);
}
/** @internal */
exports.GetTeachersForClassResponse$inboundSchema = z.object({
    Result: z.lazy(() => exports.GetTeachersForClassResponseBody$inboundSchema),
}).transform((v) => {
    return (0, primitives_js_1.remap)(v, {
        "Result": "result",
    });
});
/** @internal */
exports.GetTeachersForClassResponse$outboundSchema = z.object({
    result: z.lazy(() => exports.GetTeachersForClassResponseBody$outboundSchema),
}).transform((v) => {
    return (0, primitives_js_1.remap)(v, {
        result: "Result",
    });
});
/**
 * @internal
 * @deprecated This namespace will be removed in future versions. Use schemas and types that are exported directly from this module.
 */
var GetTeachersForClassResponse$;
(function (GetTeachersForClassResponse$) {
    /** @deprecated use `GetTeachersForClassResponse$inboundSchema` instead. */
    GetTeachersForClassResponse$.inboundSchema = exports.GetTeachersForClassResponse$inboundSchema;
    /** @deprecated use `GetTeachersForClassResponse$outboundSchema` instead. */
    GetTeachersForClassResponse$.outboundSchema = exports.GetTeachersForClassResponse$outboundSchema;
})(GetTeachersForClassResponse$ || (exports.GetTeachersForClassResponse$ = GetTeachersForClassResponse$ = {}));
function getTeachersForClassResponseToJSON(getTeachersForClassResponse) {
    return JSON.stringify(exports.GetTeachersForClassResponse$outboundSchema.parse(getTeachersForClassResponse));
}
function getTeachersForClassResponseFromJSON(jsonString) {
    return (0, schemas_js_1.safeParse)(jsonString, (x) => exports.GetTeachersForClassResponse$inboundSchema.parse(JSON.parse(x)), `Failed to parse 'GetTeachersForClassResponse' from JSON`);
}
//# sourceMappingURL=getteachersforclass.js.map