/*
 * 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 GetAllAcademicSessionsOrderBy = {
    Asc: "asc",
    Desc: "desc",
};
/** @internal */
export const GetAllAcademicSessionsOrderBy$inboundSchema = z.nativeEnum(GetAllAcademicSessionsOrderBy);
/** @internal */
export const GetAllAcademicSessionsOrderBy$outboundSchema = GetAllAcademicSessionsOrderBy$inboundSchema;
/**
 * @internal
 * @deprecated This namespace will be removed in future versions. Use schemas and types that are exported directly from this module.
 */
export var GetAllAcademicSessionsOrderBy$;
(function (GetAllAcademicSessionsOrderBy$) {
    /** @deprecated use `GetAllAcademicSessionsOrderBy$inboundSchema` instead. */
    GetAllAcademicSessionsOrderBy$.inboundSchema = GetAllAcademicSessionsOrderBy$inboundSchema;
    /** @deprecated use `GetAllAcademicSessionsOrderBy$outboundSchema` instead. */
    GetAllAcademicSessionsOrderBy$.outboundSchema = GetAllAcademicSessionsOrderBy$outboundSchema;
})(GetAllAcademicSessionsOrderBy$ || (GetAllAcademicSessionsOrderBy$ = {}));
/** @internal */
export const GetAllAcademicSessionsRequest$inboundSchema = z.object({
    fields: z.string().optional(),
    limit: z.number().int().default(100),
    offset: z.number().int().default(0),
    sort: z.string().optional(),
    orderBy: GetAllAcademicSessionsOrderBy$inboundSchema.optional(),
    filter: z.string().optional(),
    search: z.string().optional(),
});
/** @internal */
export const GetAllAcademicSessionsRequest$outboundSchema = z.object({
    fields: z.string().optional(),
    limit: z.number().int().default(100),
    offset: z.number().int().default(0),
    sort: z.string().optional(),
    orderBy: GetAllAcademicSessionsOrderBy$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 GetAllAcademicSessionsRequest$;
(function (GetAllAcademicSessionsRequest$) {
    /** @deprecated use `GetAllAcademicSessionsRequest$inboundSchema` instead. */
    GetAllAcademicSessionsRequest$.inboundSchema = GetAllAcademicSessionsRequest$inboundSchema;
    /** @deprecated use `GetAllAcademicSessionsRequest$outboundSchema` instead. */
    GetAllAcademicSessionsRequest$.outboundSchema = GetAllAcademicSessionsRequest$outboundSchema;
})(GetAllAcademicSessionsRequest$ || (GetAllAcademicSessionsRequest$ = {}));
export function getAllAcademicSessionsRequestToJSON(getAllAcademicSessionsRequest) {
    return JSON.stringify(GetAllAcademicSessionsRequest$outboundSchema.parse(getAllAcademicSessionsRequest));
}
export function getAllAcademicSessionsRequestFromJSON(jsonString) {
    return safeParse(jsonString, (x) => GetAllAcademicSessionsRequest$inboundSchema.parse(JSON.parse(x)), `Failed to parse 'GetAllAcademicSessionsRequest' from JSON`);
}
/** @internal */
export const GetAllAcademicSessionsResponseBody$inboundSchema = z.object({
    academicSessions: z.array(components.AcademicSession$inboundSchema),
    totalCount: z.number(),
    pageCount: z.number(),
    pageNumber: z.number(),
    offset: z.number(),
    limit: z.number(),
});
/** @internal */
export const GetAllAcademicSessionsResponseBody$outboundSchema = z.object({
    academicSessions: z.array(components.AcademicSession$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 GetAllAcademicSessionsResponseBody$;
(function (GetAllAcademicSessionsResponseBody$) {
    /** @deprecated use `GetAllAcademicSessionsResponseBody$inboundSchema` instead. */
    GetAllAcademicSessionsResponseBody$.inboundSchema = GetAllAcademicSessionsResponseBody$inboundSchema;
    /** @deprecated use `GetAllAcademicSessionsResponseBody$outboundSchema` instead. */
    GetAllAcademicSessionsResponseBody$.outboundSchema = GetAllAcademicSessionsResponseBody$outboundSchema;
})(GetAllAcademicSessionsResponseBody$ || (GetAllAcademicSessionsResponseBody$ = {}));
export function getAllAcademicSessionsResponseBodyToJSON(getAllAcademicSessionsResponseBody) {
    return JSON.stringify(GetAllAcademicSessionsResponseBody$outboundSchema.parse(getAllAcademicSessionsResponseBody));
}
export function getAllAcademicSessionsResponseBodyFromJSON(jsonString) {
    return safeParse(jsonString, (x) => GetAllAcademicSessionsResponseBody$inboundSchema.parse(JSON.parse(x)), `Failed to parse 'GetAllAcademicSessionsResponseBody' from JSON`);
}
/** @internal */
export const GetAllAcademicSessionsResponse$inboundSchema = z.object({
    Result: z.lazy(() => GetAllAcademicSessionsResponseBody$inboundSchema),
}).transform((v) => {
    return remap$(v, {
        "Result": "result",
    });
});
/** @internal */
export const GetAllAcademicSessionsResponse$outboundSchema = z.object({
    result: z.lazy(() => GetAllAcademicSessionsResponseBody$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 GetAllAcademicSessionsResponse$;
(function (GetAllAcademicSessionsResponse$) {
    /** @deprecated use `GetAllAcademicSessionsResponse$inboundSchema` instead. */
    GetAllAcademicSessionsResponse$.inboundSchema = GetAllAcademicSessionsResponse$inboundSchema;
    /** @deprecated use `GetAllAcademicSessionsResponse$outboundSchema` instead. */
    GetAllAcademicSessionsResponse$.outboundSchema = GetAllAcademicSessionsResponse$outboundSchema;
})(GetAllAcademicSessionsResponse$ || (GetAllAcademicSessionsResponse$ = {}));
export function getAllAcademicSessionsResponseToJSON(getAllAcademicSessionsResponse) {
    return JSON.stringify(GetAllAcademicSessionsResponse$outboundSchema.parse(getAllAcademicSessionsResponse));
}
export function getAllAcademicSessionsResponseFromJSON(jsonString) {
    return safeParse(jsonString, (x) => GetAllAcademicSessionsResponse$inboundSchema.parse(JSON.parse(x)), `Failed to parse 'GetAllAcademicSessionsResponse' from JSON`);
}
//# sourceMappingURL=getallacademicsessions.js.map