"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.GetStudentsForClassResponse$ = exports.GetStudentsForClassResponse$outboundSchema = exports.GetStudentsForClassResponse$inboundSchema = exports.GetStudentsForClassResponseBody$ = exports.GetStudentsForClassResponseBody$outboundSchema = exports.GetStudentsForClassResponseBody$inboundSchema = exports.Student$ = exports.Student$outboundSchema = exports.Student$inboundSchema = exports.GetStudentsForClassPrimaryOrg$ = exports.GetStudentsForClassPrimaryOrg$outboundSchema = exports.GetStudentsForClassPrimaryOrg$inboundSchema = exports.GetStudentsForClassAgent$ = exports.GetStudentsForClassAgent$outboundSchema = exports.GetStudentsForClassAgent$inboundSchema = exports.GetStudentsForClassType$ = exports.GetStudentsForClassType$outboundSchema = exports.GetStudentsForClassType$inboundSchema = exports.GetStudentsForClassRole$ = exports.GetStudentsForClassRole$outboundSchema = exports.GetStudentsForClassRole$inboundSchema = exports.GetStudentsForClassOrg$ = exports.GetStudentsForClassOrg$outboundSchema = exports.GetStudentsForClassOrg$inboundSchema = exports.GetStudentsForClassRoleEnum$ = exports.GetStudentsForClassRoleEnum$outboundSchema = exports.GetStudentsForClassRoleEnum$inboundSchema = exports.GetStudentsForClassRoleType$ = exports.GetStudentsForClassRoleType$outboundSchema = exports.GetStudentsForClassRoleType$inboundSchema = exports.GetStudentsForClassUserId$ = exports.GetStudentsForClassUserId$outboundSchema = exports.GetStudentsForClassUserId$inboundSchema = exports.GetStudentsForClassStatus$ = exports.GetStudentsForClassStatus$outboundSchema = exports.GetStudentsForClassStatus$inboundSchema = exports.GetStudentsForClassRequest$ = exports.GetStudentsForClassRequest$outboundSchema = exports.GetStudentsForClassRequest$inboundSchema = exports.GetStudentsForClassOrderBy$ = exports.GetStudentsForClassOrderBy$outboundSchema = exports.GetStudentsForClassOrderBy$inboundSchema = exports.GetStudentsForClassType = exports.GetStudentsForClassRoleEnum = exports.GetStudentsForClassRoleType = exports.GetStudentsForClassStatus = exports.GetStudentsForClassOrderBy = void 0;
exports.getStudentsForClassRequestToJSON = getStudentsForClassRequestToJSON;
exports.getStudentsForClassRequestFromJSON = getStudentsForClassRequestFromJSON;
exports.getStudentsForClassUserIdToJSON = getStudentsForClassUserIdToJSON;
exports.getStudentsForClassUserIdFromJSON = getStudentsForClassUserIdFromJSON;
exports.getStudentsForClassOrgToJSON = getStudentsForClassOrgToJSON;
exports.getStudentsForClassOrgFromJSON = getStudentsForClassOrgFromJSON;
exports.getStudentsForClassRoleToJSON = getStudentsForClassRoleToJSON;
exports.getStudentsForClassRoleFromJSON = getStudentsForClassRoleFromJSON;
exports.getStudentsForClassAgentToJSON = getStudentsForClassAgentToJSON;
exports.getStudentsForClassAgentFromJSON = getStudentsForClassAgentFromJSON;
exports.getStudentsForClassPrimaryOrgToJSON = getStudentsForClassPrimaryOrgToJSON;
exports.getStudentsForClassPrimaryOrgFromJSON = getStudentsForClassPrimaryOrgFromJSON;
exports.studentToJSON = studentToJSON;
exports.studentFromJSON = studentFromJSON;
exports.getStudentsForClassResponseBodyToJSON = getStudentsForClassResponseBodyToJSON;
exports.getStudentsForClassResponseBodyFromJSON = getStudentsForClassResponseBodyFromJSON;
exports.getStudentsForClassResponseToJSON = getStudentsForClassResponseToJSON;
exports.getStudentsForClassResponseFromJSON = getStudentsForClassResponseFromJSON;
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.GetStudentsForClassOrderBy = {
    Asc: "asc",
    Desc: "desc",
};
exports.GetStudentsForClassStatus = {
    Active: "active",
    Tobedeleted: "tobedeleted",
};
exports.GetStudentsForClassRoleType = {
    Primary: "primary",
    Secondary: "secondary",
};
exports.GetStudentsForClassRoleEnum = {
    Administrator: "administrator",
    Aide: "aide",
    Guardian: "guardian",
    Parent: "parent",
    Proctor: "proctor",
    Relative: "relative",
    Student: "student",
    Teacher: "teacher",
};
exports.GetStudentsForClassType = {
    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.GetStudentsForClassOrderBy$inboundSchema = z.nativeEnum(exports.GetStudentsForClassOrderBy);
/** @internal */
exports.GetStudentsForClassOrderBy$outboundSchema = exports.GetStudentsForClassOrderBy$inboundSchema;
/**
 * @internal
 * @deprecated This namespace will be removed in future versions. Use schemas and types that are exported directly from this module.
 */
var GetStudentsForClassOrderBy$;
(function (GetStudentsForClassOrderBy$) {
    /** @deprecated use `GetStudentsForClassOrderBy$inboundSchema` instead. */
    GetStudentsForClassOrderBy$.inboundSchema = exports.GetStudentsForClassOrderBy$inboundSchema;
    /** @deprecated use `GetStudentsForClassOrderBy$outboundSchema` instead. */
    GetStudentsForClassOrderBy$.outboundSchema = exports.GetStudentsForClassOrderBy$outboundSchema;
})(GetStudentsForClassOrderBy$ || (exports.GetStudentsForClassOrderBy$ = GetStudentsForClassOrderBy$ = {}));
/** @internal */
exports.GetStudentsForClassRequest$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.GetStudentsForClassOrderBy$inboundSchema.optional(),
    filter: z.string().optional(),
    search: z.string().optional(),
});
/** @internal */
exports.GetStudentsForClassRequest$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.GetStudentsForClassOrderBy$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 GetStudentsForClassRequest$;
(function (GetStudentsForClassRequest$) {
    /** @deprecated use `GetStudentsForClassRequest$inboundSchema` instead. */
    GetStudentsForClassRequest$.inboundSchema = exports.GetStudentsForClassRequest$inboundSchema;
    /** @deprecated use `GetStudentsForClassRequest$outboundSchema` instead. */
    GetStudentsForClassRequest$.outboundSchema = exports.GetStudentsForClassRequest$outboundSchema;
})(GetStudentsForClassRequest$ || (exports.GetStudentsForClassRequest$ = GetStudentsForClassRequest$ = {}));
function getStudentsForClassRequestToJSON(getStudentsForClassRequest) {
    return JSON.stringify(exports.GetStudentsForClassRequest$outboundSchema.parse(getStudentsForClassRequest));
}
function getStudentsForClassRequestFromJSON(jsonString) {
    return (0, schemas_js_1.safeParse)(jsonString, (x) => exports.GetStudentsForClassRequest$inboundSchema.parse(JSON.parse(x)), `Failed to parse 'GetStudentsForClassRequest' from JSON`);
}
/** @internal */
exports.GetStudentsForClassStatus$inboundSchema = z.nativeEnum(exports.GetStudentsForClassStatus);
/** @internal */
exports.GetStudentsForClassStatus$outboundSchema = exports.GetStudentsForClassStatus$inboundSchema;
/**
 * @internal
 * @deprecated This namespace will be removed in future versions. Use schemas and types that are exported directly from this module.
 */
var GetStudentsForClassStatus$;
(function (GetStudentsForClassStatus$) {
    /** @deprecated use `GetStudentsForClassStatus$inboundSchema` instead. */
    GetStudentsForClassStatus$.inboundSchema = exports.GetStudentsForClassStatus$inboundSchema;
    /** @deprecated use `GetStudentsForClassStatus$outboundSchema` instead. */
    GetStudentsForClassStatus$.outboundSchema = exports.GetStudentsForClassStatus$outboundSchema;
})(GetStudentsForClassStatus$ || (exports.GetStudentsForClassStatus$ = GetStudentsForClassStatus$ = {}));
/** @internal */
exports.GetStudentsForClassUserId$inboundSchema = z.object({
    type: z.string(),
    identifier: z.string(),
});
/** @internal */
exports.GetStudentsForClassUserId$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 GetStudentsForClassUserId$;
(function (GetStudentsForClassUserId$) {
    /** @deprecated use `GetStudentsForClassUserId$inboundSchema` instead. */
    GetStudentsForClassUserId$.inboundSchema = exports.GetStudentsForClassUserId$inboundSchema;
    /** @deprecated use `GetStudentsForClassUserId$outboundSchema` instead. */
    GetStudentsForClassUserId$.outboundSchema = exports.GetStudentsForClassUserId$outboundSchema;
})(GetStudentsForClassUserId$ || (exports.GetStudentsForClassUserId$ = GetStudentsForClassUserId$ = {}));
function getStudentsForClassUserIdToJSON(getStudentsForClassUserId) {
    return JSON.stringify(exports.GetStudentsForClassUserId$outboundSchema.parse(getStudentsForClassUserId));
}
function getStudentsForClassUserIdFromJSON(jsonString) {
    return (0, schemas_js_1.safeParse)(jsonString, (x) => exports.GetStudentsForClassUserId$inboundSchema.parse(JSON.parse(x)), `Failed to parse 'GetStudentsForClassUserId' from JSON`);
}
/** @internal */
exports.GetStudentsForClassRoleType$inboundSchema = z.nativeEnum(exports.GetStudentsForClassRoleType);
/** @internal */
exports.GetStudentsForClassRoleType$outboundSchema = exports.GetStudentsForClassRoleType$inboundSchema;
/**
 * @internal
 * @deprecated This namespace will be removed in future versions. Use schemas and types that are exported directly from this module.
 */
var GetStudentsForClassRoleType$;
(function (GetStudentsForClassRoleType$) {
    /** @deprecated use `GetStudentsForClassRoleType$inboundSchema` instead. */
    GetStudentsForClassRoleType$.inboundSchema = exports.GetStudentsForClassRoleType$inboundSchema;
    /** @deprecated use `GetStudentsForClassRoleType$outboundSchema` instead. */
    GetStudentsForClassRoleType$.outboundSchema = exports.GetStudentsForClassRoleType$outboundSchema;
})(GetStudentsForClassRoleType$ || (exports.GetStudentsForClassRoleType$ = GetStudentsForClassRoleType$ = {}));
/** @internal */
exports.GetStudentsForClassRoleEnum$inboundSchema = z.nativeEnum(exports.GetStudentsForClassRoleEnum);
/** @internal */
exports.GetStudentsForClassRoleEnum$outboundSchema = exports.GetStudentsForClassRoleEnum$inboundSchema;
/**
 * @internal
 * @deprecated This namespace will be removed in future versions. Use schemas and types that are exported directly from this module.
 */
var GetStudentsForClassRoleEnum$;
(function (GetStudentsForClassRoleEnum$) {
    /** @deprecated use `GetStudentsForClassRoleEnum$inboundSchema` instead. */
    GetStudentsForClassRoleEnum$.inboundSchema = exports.GetStudentsForClassRoleEnum$inboundSchema;
    /** @deprecated use `GetStudentsForClassRoleEnum$outboundSchema` instead. */
    GetStudentsForClassRoleEnum$.outboundSchema = exports.GetStudentsForClassRoleEnum$outboundSchema;
})(GetStudentsForClassRoleEnum$ || (exports.GetStudentsForClassRoleEnum$ = GetStudentsForClassRoleEnum$ = {}));
/** @internal */
exports.GetStudentsForClassOrg$inboundSchema = z.object({
    href: z.string(),
    sourcedId: z.string(),
    type: z.string(),
});
/** @internal */
exports.GetStudentsForClassOrg$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 GetStudentsForClassOrg$;
(function (GetStudentsForClassOrg$) {
    /** @deprecated use `GetStudentsForClassOrg$inboundSchema` instead. */
    GetStudentsForClassOrg$.inboundSchema = exports.GetStudentsForClassOrg$inboundSchema;
    /** @deprecated use `GetStudentsForClassOrg$outboundSchema` instead. */
    GetStudentsForClassOrg$.outboundSchema = exports.GetStudentsForClassOrg$outboundSchema;
})(GetStudentsForClassOrg$ || (exports.GetStudentsForClassOrg$ = GetStudentsForClassOrg$ = {}));
function getStudentsForClassOrgToJSON(getStudentsForClassOrg) {
    return JSON.stringify(exports.GetStudentsForClassOrg$outboundSchema.parse(getStudentsForClassOrg));
}
function getStudentsForClassOrgFromJSON(jsonString) {
    return (0, schemas_js_1.safeParse)(jsonString, (x) => exports.GetStudentsForClassOrg$inboundSchema.parse(JSON.parse(x)), `Failed to parse 'GetStudentsForClassOrg' from JSON`);
}
/** @internal */
exports.GetStudentsForClassRole$inboundSchema = z.object({
    roleType: exports.GetStudentsForClassRoleType$inboundSchema,
    role: exports.GetStudentsForClassRoleEnum$inboundSchema,
    org: z.lazy(() => exports.GetStudentsForClassOrg$inboundSchema),
    userProfile: z.string().optional(),
    beginDate: z.nullable(z.string()),
    endDate: z.nullable(z.string()),
});
/** @internal */
exports.GetStudentsForClassRole$outboundSchema = z.object({
    roleType: exports.GetStudentsForClassRoleType$outboundSchema,
    role: exports.GetStudentsForClassRoleEnum$outboundSchema,
    org: z.lazy(() => exports.GetStudentsForClassOrg$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 GetStudentsForClassRole$;
(function (GetStudentsForClassRole$) {
    /** @deprecated use `GetStudentsForClassRole$inboundSchema` instead. */
    GetStudentsForClassRole$.inboundSchema = exports.GetStudentsForClassRole$inboundSchema;
    /** @deprecated use `GetStudentsForClassRole$outboundSchema` instead. */
    GetStudentsForClassRole$.outboundSchema = exports.GetStudentsForClassRole$outboundSchema;
})(GetStudentsForClassRole$ || (exports.GetStudentsForClassRole$ = GetStudentsForClassRole$ = {}));
function getStudentsForClassRoleToJSON(getStudentsForClassRole) {
    return JSON.stringify(exports.GetStudentsForClassRole$outboundSchema.parse(getStudentsForClassRole));
}
function getStudentsForClassRoleFromJSON(jsonString) {
    return (0, schemas_js_1.safeParse)(jsonString, (x) => exports.GetStudentsForClassRole$inboundSchema.parse(JSON.parse(x)), `Failed to parse 'GetStudentsForClassRole' from JSON`);
}
/** @internal */
exports.GetStudentsForClassType$inboundSchema = z.nativeEnum(exports.GetStudentsForClassType);
/** @internal */
exports.GetStudentsForClassType$outboundSchema = exports.GetStudentsForClassType$inboundSchema;
/**
 * @internal
 * @deprecated This namespace will be removed in future versions. Use schemas and types that are exported directly from this module.
 */
var GetStudentsForClassType$;
(function (GetStudentsForClassType$) {
    /** @deprecated use `GetStudentsForClassType$inboundSchema` instead. */
    GetStudentsForClassType$.inboundSchema = exports.GetStudentsForClassType$inboundSchema;
    /** @deprecated use `GetStudentsForClassType$outboundSchema` instead. */
    GetStudentsForClassType$.outboundSchema = exports.GetStudentsForClassType$outboundSchema;
})(GetStudentsForClassType$ || (exports.GetStudentsForClassType$ = GetStudentsForClassType$ = {}));
/** @internal */
exports.GetStudentsForClassAgent$inboundSchema = z.object({
    href: z.string(),
    sourcedId: z.string(),
    type: exports.GetStudentsForClassType$inboundSchema,
});
/** @internal */
exports.GetStudentsForClassAgent$outboundSchema = z.object({
    href: z.string(),
    sourcedId: z.string(),
    type: exports.GetStudentsForClassType$outboundSchema,
});
/**
 * @internal
 * @deprecated This namespace will be removed in future versions. Use schemas and types that are exported directly from this module.
 */
var GetStudentsForClassAgent$;
(function (GetStudentsForClassAgent$) {
    /** @deprecated use `GetStudentsForClassAgent$inboundSchema` instead. */
    GetStudentsForClassAgent$.inboundSchema = exports.GetStudentsForClassAgent$inboundSchema;
    /** @deprecated use `GetStudentsForClassAgent$outboundSchema` instead. */
    GetStudentsForClassAgent$.outboundSchema = exports.GetStudentsForClassAgent$outboundSchema;
})(GetStudentsForClassAgent$ || (exports.GetStudentsForClassAgent$ = GetStudentsForClassAgent$ = {}));
function getStudentsForClassAgentToJSON(getStudentsForClassAgent) {
    return JSON.stringify(exports.GetStudentsForClassAgent$outboundSchema.parse(getStudentsForClassAgent));
}
function getStudentsForClassAgentFromJSON(jsonString) {
    return (0, schemas_js_1.safeParse)(jsonString, (x) => exports.GetStudentsForClassAgent$inboundSchema.parse(JSON.parse(x)), `Failed to parse 'GetStudentsForClassAgent' from JSON`);
}
/** @internal */
exports.GetStudentsForClassPrimaryOrg$inboundSchema = z.object({
    href: z.string(),
    sourcedId: z.string(),
    type: z.string(),
});
/** @internal */
exports.GetStudentsForClassPrimaryOrg$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 GetStudentsForClassPrimaryOrg$;
(function (GetStudentsForClassPrimaryOrg$) {
    /** @deprecated use `GetStudentsForClassPrimaryOrg$inboundSchema` instead. */
    GetStudentsForClassPrimaryOrg$.inboundSchema = exports.GetStudentsForClassPrimaryOrg$inboundSchema;
    /** @deprecated use `GetStudentsForClassPrimaryOrg$outboundSchema` instead. */
    GetStudentsForClassPrimaryOrg$.outboundSchema = exports.GetStudentsForClassPrimaryOrg$outboundSchema;
})(GetStudentsForClassPrimaryOrg$ || (exports.GetStudentsForClassPrimaryOrg$ = GetStudentsForClassPrimaryOrg$ = {}));
function getStudentsForClassPrimaryOrgToJSON(getStudentsForClassPrimaryOrg) {
    return JSON.stringify(exports.GetStudentsForClassPrimaryOrg$outboundSchema.parse(getStudentsForClassPrimaryOrg));
}
function getStudentsForClassPrimaryOrgFromJSON(jsonString) {
    return (0, schemas_js_1.safeParse)(jsonString, (x) => exports.GetStudentsForClassPrimaryOrg$inboundSchema.parse(JSON.parse(x)), `Failed to parse 'GetStudentsForClassPrimaryOrg' from JSON`);
}
/** @internal */
exports.Student$inboundSchema = z.object({
    sourcedId: z.string(),
    status: exports.GetStudentsForClassStatus$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.GetStudentsForClassUserId$inboundSchema))
        .optional(),
    enabledUser: z.boolean(),
    givenName: z.string(),
    familyName: z.string(),
    middleName: z.nullable(z.string()).optional(),
    roles: z.array(z.lazy(() => exports.GetStudentsForClassRole$inboundSchema)),
    agents: z.array(z.lazy(() => exports.GetStudentsForClassAgent$inboundSchema)),
    primaryOrg: z.lazy(() => exports.GetStudentsForClassPrimaryOrg$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.Student$outboundSchema = z.object({
    sourcedId: z.string(),
    status: exports.GetStudentsForClassStatus$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.GetStudentsForClassUserId$outboundSchema))
        .optional(),
    enabledUser: z.boolean(),
    givenName: z.string(),
    familyName: z.string(),
    middleName: z.nullable(z.string()).optional(),
    roles: z.array(z.lazy(() => exports.GetStudentsForClassRole$outboundSchema)),
    agents: z.array(z.lazy(() => exports.GetStudentsForClassAgent$outboundSchema)),
    primaryOrg: z.lazy(() => exports.GetStudentsForClassPrimaryOrg$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 Student$;
(function (Student$) {
    /** @deprecated use `Student$inboundSchema` instead. */
    Student$.inboundSchema = exports.Student$inboundSchema;
    /** @deprecated use `Student$outboundSchema` instead. */
    Student$.outboundSchema = exports.Student$outboundSchema;
})(Student$ || (exports.Student$ = Student$ = {}));
function studentToJSON(student) {
    return JSON.stringify(exports.Student$outboundSchema.parse(student));
}
function studentFromJSON(jsonString) {
    return (0, schemas_js_1.safeParse)(jsonString, (x) => exports.Student$inboundSchema.parse(JSON.parse(x)), `Failed to parse 'Student' from JSON`);
}
/** @internal */
exports.GetStudentsForClassResponseBody$inboundSchema = z.object({
    students: z.array(z.lazy(() => exports.Student$inboundSchema)),
    totalCount: z.number(),
    pageCount: z.number(),
    pageNumber: z.number(),
    offset: z.number(),
    limit: z.number(),
});
/** @internal */
exports.GetStudentsForClassResponseBody$outboundSchema = z.object({
    students: z.array(z.lazy(() => exports.Student$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 GetStudentsForClassResponseBody$;
(function (GetStudentsForClassResponseBody$) {
    /** @deprecated use `GetStudentsForClassResponseBody$inboundSchema` instead. */
    GetStudentsForClassResponseBody$.inboundSchema = exports.GetStudentsForClassResponseBody$inboundSchema;
    /** @deprecated use `GetStudentsForClassResponseBody$outboundSchema` instead. */
    GetStudentsForClassResponseBody$.outboundSchema = exports.GetStudentsForClassResponseBody$outboundSchema;
})(GetStudentsForClassResponseBody$ || (exports.GetStudentsForClassResponseBody$ = GetStudentsForClassResponseBody$ = {}));
function getStudentsForClassResponseBodyToJSON(getStudentsForClassResponseBody) {
    return JSON.stringify(exports.GetStudentsForClassResponseBody$outboundSchema.parse(getStudentsForClassResponseBody));
}
function getStudentsForClassResponseBodyFromJSON(jsonString) {
    return (0, schemas_js_1.safeParse)(jsonString, (x) => exports.GetStudentsForClassResponseBody$inboundSchema.parse(JSON.parse(x)), `Failed to parse 'GetStudentsForClassResponseBody' from JSON`);
}
/** @internal */
exports.GetStudentsForClassResponse$inboundSchema = z.object({
    Result: z.lazy(() => exports.GetStudentsForClassResponseBody$inboundSchema),
}).transform((v) => {
    return (0, primitives_js_1.remap)(v, {
        "Result": "result",
    });
});
/** @internal */
exports.GetStudentsForClassResponse$outboundSchema = z.object({
    result: z.lazy(() => exports.GetStudentsForClassResponseBody$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 GetStudentsForClassResponse$;
(function (GetStudentsForClassResponse$) {
    /** @deprecated use `GetStudentsForClassResponse$inboundSchema` instead. */
    GetStudentsForClassResponse$.inboundSchema = exports.GetStudentsForClassResponse$inboundSchema;
    /** @deprecated use `GetStudentsForClassResponse$outboundSchema` instead. */
    GetStudentsForClassResponse$.outboundSchema = exports.GetStudentsForClassResponse$outboundSchema;
})(GetStudentsForClassResponse$ || (exports.GetStudentsForClassResponse$ = GetStudentsForClassResponse$ = {}));
function getStudentsForClassResponseToJSON(getStudentsForClassResponse) {
    return JSON.stringify(exports.GetStudentsForClassResponse$outboundSchema.parse(getStudentsForClassResponse));
}
function getStudentsForClassResponseFromJSON(jsonString) {
    return (0, schemas_js_1.safeParse)(jsonString, (x) => exports.GetStudentsForClassResponse$inboundSchema.parse(JSON.parse(x)), `Failed to parse 'GetStudentsForClassResponse' from JSON`);
}
//# sourceMappingURL=getstudentsforclass.js.map