/*
 * Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT.
 */
import * as z from "zod";
import { remap as remap$ } from "../../lib/primitives.js";
import { safeParse } from "../../lib/schemas.js";
import * as components from "../components/index.js";
/**
 * The order to sort the response by
 */
export const GetEnrollmentsForClassInSchoolOrderBy = {
    Asc: "asc",
    Desc: "desc",
};
/** @internal */
export const GetEnrollmentsForClassInSchoolOrderBy$inboundSchema = z.nativeEnum(GetEnrollmentsForClassInSchoolOrderBy);
/** @internal */
export const GetEnrollmentsForClassInSchoolOrderBy$outboundSchema = GetEnrollmentsForClassInSchoolOrderBy$inboundSchema;
/**
 * @internal
 * @deprecated This namespace will be removed in future versions. Use schemas and types that are exported directly from this module.
 */
export var GetEnrollmentsForClassInSchoolOrderBy$;
(function (GetEnrollmentsForClassInSchoolOrderBy$) {
    /** @deprecated use `GetEnrollmentsForClassInSchoolOrderBy$inboundSchema` instead. */
    GetEnrollmentsForClassInSchoolOrderBy$.inboundSchema = GetEnrollmentsForClassInSchoolOrderBy$inboundSchema;
    /** @deprecated use `GetEnrollmentsForClassInSchoolOrderBy$outboundSchema` instead. */
    GetEnrollmentsForClassInSchoolOrderBy$.outboundSchema = GetEnrollmentsForClassInSchoolOrderBy$outboundSchema;
})(GetEnrollmentsForClassInSchoolOrderBy$ || (GetEnrollmentsForClassInSchoolOrderBy$ = {}));
/** @internal */
export const GetEnrollmentsForClassInSchoolRequest$inboundSchema = z.object({
    schoolSourcedId: z.string(),
    classSourcedId: z.string(),
    fields: z.string().optional(),
    limit: z.number().int().default(100),
    offset: z.number().int().default(0),
    sort: z.string().optional(),
    orderBy: GetEnrollmentsForClassInSchoolOrderBy$inboundSchema.optional(),
    filter: z.string().optional(),
    search: z.string().optional(),
});
/** @internal */
export const GetEnrollmentsForClassInSchoolRequest$outboundSchema = z.object({
    schoolSourcedId: z.string(),
    classSourcedId: z.string(),
    fields: z.string().optional(),
    limit: z.number().int().default(100),
    offset: z.number().int().default(0),
    sort: z.string().optional(),
    orderBy: GetEnrollmentsForClassInSchoolOrderBy$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.
 */
export var GetEnrollmentsForClassInSchoolRequest$;
(function (GetEnrollmentsForClassInSchoolRequest$) {
    /** @deprecated use `GetEnrollmentsForClassInSchoolRequest$inboundSchema` instead. */
    GetEnrollmentsForClassInSchoolRequest$.inboundSchema = GetEnrollmentsForClassInSchoolRequest$inboundSchema;
    /** @deprecated use `GetEnrollmentsForClassInSchoolRequest$outboundSchema` instead. */
    GetEnrollmentsForClassInSchoolRequest$.outboundSchema = GetEnrollmentsForClassInSchoolRequest$outboundSchema;
})(GetEnrollmentsForClassInSchoolRequest$ || (GetEnrollmentsForClassInSchoolRequest$ = {}));
export function getEnrollmentsForClassInSchoolRequestToJSON(getEnrollmentsForClassInSchoolRequest) {
    return JSON.stringify(GetEnrollmentsForClassInSchoolRequest$outboundSchema.parse(getEnrollmentsForClassInSchoolRequest));
}
export function getEnrollmentsForClassInSchoolRequestFromJSON(jsonString) {
    return safeParse(jsonString, (x) => GetEnrollmentsForClassInSchoolRequest$inboundSchema.parse(JSON.parse(x)), `Failed to parse 'GetEnrollmentsForClassInSchoolRequest' from JSON`);
}
/** @internal */
export const GetEnrollmentsForClassInSchoolResponseBody$inboundSchema = z.object({
    enrollments: z.array(components.Enrollment$inboundSchema),
    totalCount: z.number(),
    pageCount: z.number(),
    pageNumber: z.number(),
    offset: z.number(),
    limit: z.number(),
});
/** @internal */
export const GetEnrollmentsForClassInSchoolResponseBody$outboundSchema = z.object({
    enrollments: z.array(components.Enrollment$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.
 */
export var GetEnrollmentsForClassInSchoolResponseBody$;
(function (GetEnrollmentsForClassInSchoolResponseBody$) {
    /** @deprecated use `GetEnrollmentsForClassInSchoolResponseBody$inboundSchema` instead. */
    GetEnrollmentsForClassInSchoolResponseBody$.inboundSchema = GetEnrollmentsForClassInSchoolResponseBody$inboundSchema;
    /** @deprecated use `GetEnrollmentsForClassInSchoolResponseBody$outboundSchema` instead. */
    GetEnrollmentsForClassInSchoolResponseBody$.outboundSchema = GetEnrollmentsForClassInSchoolResponseBody$outboundSchema;
})(GetEnrollmentsForClassInSchoolResponseBody$ || (GetEnrollmentsForClassInSchoolResponseBody$ = {}));
export function getEnrollmentsForClassInSchoolResponseBodyToJSON(getEnrollmentsForClassInSchoolResponseBody) {
    return JSON.stringify(GetEnrollmentsForClassInSchoolResponseBody$outboundSchema.parse(getEnrollmentsForClassInSchoolResponseBody));
}
export function getEnrollmentsForClassInSchoolResponseBodyFromJSON(jsonString) {
    return safeParse(jsonString, (x) => GetEnrollmentsForClassInSchoolResponseBody$inboundSchema.parse(JSON.parse(x)), `Failed to parse 'GetEnrollmentsForClassInSchoolResponseBody' from JSON`);
}
/** @internal */
export const GetEnrollmentsForClassInSchoolResponse$inboundSchema = z.object({
    Result: z.lazy(() => GetEnrollmentsForClassInSchoolResponseBody$inboundSchema),
}).transform((v) => {
    return remap$(v, {
        "Result": "result",
    });
});
/** @internal */
export const GetEnrollmentsForClassInSchoolResponse$outboundSchema = z.object({
    result: z.lazy(() => GetEnrollmentsForClassInSchoolResponseBody$outboundSchema),
}).transform((v) => {
    return 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.
 */
export var GetEnrollmentsForClassInSchoolResponse$;
(function (GetEnrollmentsForClassInSchoolResponse$) {
    /** @deprecated use `GetEnrollmentsForClassInSchoolResponse$inboundSchema` instead. */
    GetEnrollmentsForClassInSchoolResponse$.inboundSchema = GetEnrollmentsForClassInSchoolResponse$inboundSchema;
    /** @deprecated use `GetEnrollmentsForClassInSchoolResponse$outboundSchema` instead. */
    GetEnrollmentsForClassInSchoolResponse$.outboundSchema = GetEnrollmentsForClassInSchoolResponse$outboundSchema;
})(GetEnrollmentsForClassInSchoolResponse$ || (GetEnrollmentsForClassInSchoolResponse$ = {}));
export function getEnrollmentsForClassInSchoolResponseToJSON(getEnrollmentsForClassInSchoolResponse) {
    return JSON.stringify(GetEnrollmentsForClassInSchoolResponse$outboundSchema.parse(getEnrollmentsForClassInSchoolResponse));
}
export function getEnrollmentsForClassInSchoolResponseFromJSON(jsonString) {
    return safeParse(jsonString, (x) => GetEnrollmentsForClassInSchoolResponse$inboundSchema.parse(JSON.parse(x)), `Failed to parse 'GetEnrollmentsForClassInSchoolResponse' from JSON`);
}
//# sourceMappingURL=getenrollmentsforclassinschool.js.map