/*
 * 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 GetEnrollmentsForSchoolOrderBy = {
    Asc: "asc",
    Desc: "desc",
};
/** @internal */
export const GetEnrollmentsForSchoolOrderBy$inboundSchema = z.nativeEnum(GetEnrollmentsForSchoolOrderBy);
/** @internal */
export const GetEnrollmentsForSchoolOrderBy$outboundSchema = GetEnrollmentsForSchoolOrderBy$inboundSchema;
/**
 * @internal
 * @deprecated This namespace will be removed in future versions. Use schemas and types that are exported directly from this module.
 */
export var GetEnrollmentsForSchoolOrderBy$;
(function (GetEnrollmentsForSchoolOrderBy$) {
    /** @deprecated use `GetEnrollmentsForSchoolOrderBy$inboundSchema` instead. */
    GetEnrollmentsForSchoolOrderBy$.inboundSchema = GetEnrollmentsForSchoolOrderBy$inboundSchema;
    /** @deprecated use `GetEnrollmentsForSchoolOrderBy$outboundSchema` instead. */
    GetEnrollmentsForSchoolOrderBy$.outboundSchema = GetEnrollmentsForSchoolOrderBy$outboundSchema;
})(GetEnrollmentsForSchoolOrderBy$ || (GetEnrollmentsForSchoolOrderBy$ = {}));
/** @internal */
export const GetEnrollmentsForSchoolRequest$inboundSchema = z.object({
    schoolSourcedId: z.string(),
    fields: z.string().optional(),
    limit: z.number().int().default(100),
    offset: z.number().int().default(0),
    sort: z.string().optional(),
    orderBy: GetEnrollmentsForSchoolOrderBy$inboundSchema.optional(),
    filter: z.string().optional(),
    search: z.string().optional(),
});
/** @internal */
export const GetEnrollmentsForSchoolRequest$outboundSchema = z.object({
    schoolSourcedId: z.string(),
    fields: z.string().optional(),
    limit: z.number().int().default(100),
    offset: z.number().int().default(0),
    sort: z.string().optional(),
    orderBy: GetEnrollmentsForSchoolOrderBy$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 GetEnrollmentsForSchoolRequest$;
(function (GetEnrollmentsForSchoolRequest$) {
    /** @deprecated use `GetEnrollmentsForSchoolRequest$inboundSchema` instead. */
    GetEnrollmentsForSchoolRequest$.inboundSchema = GetEnrollmentsForSchoolRequest$inboundSchema;
    /** @deprecated use `GetEnrollmentsForSchoolRequest$outboundSchema` instead. */
    GetEnrollmentsForSchoolRequest$.outboundSchema = GetEnrollmentsForSchoolRequest$outboundSchema;
})(GetEnrollmentsForSchoolRequest$ || (GetEnrollmentsForSchoolRequest$ = {}));
export function getEnrollmentsForSchoolRequestToJSON(getEnrollmentsForSchoolRequest) {
    return JSON.stringify(GetEnrollmentsForSchoolRequest$outboundSchema.parse(getEnrollmentsForSchoolRequest));
}
export function getEnrollmentsForSchoolRequestFromJSON(jsonString) {
    return safeParse(jsonString, (x) => GetEnrollmentsForSchoolRequest$inboundSchema.parse(JSON.parse(x)), `Failed to parse 'GetEnrollmentsForSchoolRequest' from JSON`);
}
/** @internal */
export const GetEnrollmentsForSchoolResponseBody$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 GetEnrollmentsForSchoolResponseBody$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 GetEnrollmentsForSchoolResponseBody$;
(function (GetEnrollmentsForSchoolResponseBody$) {
    /** @deprecated use `GetEnrollmentsForSchoolResponseBody$inboundSchema` instead. */
    GetEnrollmentsForSchoolResponseBody$.inboundSchema = GetEnrollmentsForSchoolResponseBody$inboundSchema;
    /** @deprecated use `GetEnrollmentsForSchoolResponseBody$outboundSchema` instead. */
    GetEnrollmentsForSchoolResponseBody$.outboundSchema = GetEnrollmentsForSchoolResponseBody$outboundSchema;
})(GetEnrollmentsForSchoolResponseBody$ || (GetEnrollmentsForSchoolResponseBody$ = {}));
export function getEnrollmentsForSchoolResponseBodyToJSON(getEnrollmentsForSchoolResponseBody) {
    return JSON.stringify(GetEnrollmentsForSchoolResponseBody$outboundSchema.parse(getEnrollmentsForSchoolResponseBody));
}
export function getEnrollmentsForSchoolResponseBodyFromJSON(jsonString) {
    return safeParse(jsonString, (x) => GetEnrollmentsForSchoolResponseBody$inboundSchema.parse(JSON.parse(x)), `Failed to parse 'GetEnrollmentsForSchoolResponseBody' from JSON`);
}
/** @internal */
export const GetEnrollmentsForSchoolResponse$inboundSchema = z.object({
    Result: z.lazy(() => GetEnrollmentsForSchoolResponseBody$inboundSchema),
}).transform((v) => {
    return remap$(v, {
        "Result": "result",
    });
});
/** @internal */
export const GetEnrollmentsForSchoolResponse$outboundSchema = z.object({
    result: z.lazy(() => GetEnrollmentsForSchoolResponseBody$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 GetEnrollmentsForSchoolResponse$;
(function (GetEnrollmentsForSchoolResponse$) {
    /** @deprecated use `GetEnrollmentsForSchoolResponse$inboundSchema` instead. */
    GetEnrollmentsForSchoolResponse$.inboundSchema = GetEnrollmentsForSchoolResponse$inboundSchema;
    /** @deprecated use `GetEnrollmentsForSchoolResponse$outboundSchema` instead. */
    GetEnrollmentsForSchoolResponse$.outboundSchema = GetEnrollmentsForSchoolResponse$outboundSchema;
})(GetEnrollmentsForSchoolResponse$ || (GetEnrollmentsForSchoolResponse$ = {}));
export function getEnrollmentsForSchoolResponseToJSON(getEnrollmentsForSchoolResponse) {
    return JSON.stringify(GetEnrollmentsForSchoolResponse$outboundSchema.parse(getEnrollmentsForSchoolResponse));
}
export function getEnrollmentsForSchoolResponseFromJSON(jsonString) {
    return safeParse(jsonString, (x) => GetEnrollmentsForSchoolResponse$inboundSchema.parse(JSON.parse(x)), `Failed to parse 'GetEnrollmentsForSchoolResponse' from JSON`);
}
//# sourceMappingURL=getenrollmentsforschool.js.map