/*
 * 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 GetClassesForTermOrderBy = {
    Asc: "asc",
    Desc: "desc",
};
/** @internal */
export const GetClassesForTermOrderBy$inboundSchema = z.nativeEnum(GetClassesForTermOrderBy);
/** @internal */
export const GetClassesForTermOrderBy$outboundSchema = GetClassesForTermOrderBy$inboundSchema;
/**
 * @internal
 * @deprecated This namespace will be removed in future versions. Use schemas and types that are exported directly from this module.
 */
export var GetClassesForTermOrderBy$;
(function (GetClassesForTermOrderBy$) {
    /** @deprecated use `GetClassesForTermOrderBy$inboundSchema` instead. */
    GetClassesForTermOrderBy$.inboundSchema = GetClassesForTermOrderBy$inboundSchema;
    /** @deprecated use `GetClassesForTermOrderBy$outboundSchema` instead. */
    GetClassesForTermOrderBy$.outboundSchema = GetClassesForTermOrderBy$outboundSchema;
})(GetClassesForTermOrderBy$ || (GetClassesForTermOrderBy$ = {}));
/** @internal */
export const GetClassesForTermRequest$inboundSchema = z.object({
    termSourcedId: z.string(),
    fields: z.string().optional(),
    limit: z.number().int().default(100),
    offset: z.number().int().default(0),
    sort: z.string().optional(),
    orderBy: GetClassesForTermOrderBy$inboundSchema.optional(),
    filter: z.string().optional(),
    search: z.string().optional(),
});
/** @internal */
export const GetClassesForTermRequest$outboundSchema = z.object({
    termSourcedId: z.string(),
    fields: z.string().optional(),
    limit: z.number().int().default(100),
    offset: z.number().int().default(0),
    sort: z.string().optional(),
    orderBy: GetClassesForTermOrderBy$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 GetClassesForTermRequest$;
(function (GetClassesForTermRequest$) {
    /** @deprecated use `GetClassesForTermRequest$inboundSchema` instead. */
    GetClassesForTermRequest$.inboundSchema = GetClassesForTermRequest$inboundSchema;
    /** @deprecated use `GetClassesForTermRequest$outboundSchema` instead. */
    GetClassesForTermRequest$.outboundSchema = GetClassesForTermRequest$outboundSchema;
})(GetClassesForTermRequest$ || (GetClassesForTermRequest$ = {}));
export function getClassesForTermRequestToJSON(getClassesForTermRequest) {
    return JSON.stringify(GetClassesForTermRequest$outboundSchema.parse(getClassesForTermRequest));
}
export function getClassesForTermRequestFromJSON(jsonString) {
    return safeParse(jsonString, (x) => GetClassesForTermRequest$inboundSchema.parse(JSON.parse(x)), `Failed to parse 'GetClassesForTermRequest' from JSON`);
}
/** @internal */
export const GetClassesForTermResponseBody$inboundSchema = z.object({
    classes: z.array(components.Class$inboundSchema),
    totalCount: z.number(),
    pageCount: z.number(),
    pageNumber: z.number(),
    offset: z.number(),
    limit: z.number(),
});
/** @internal */
export const GetClassesForTermResponseBody$outboundSchema = z.object({
    classes: z.array(components.Class$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 GetClassesForTermResponseBody$;
(function (GetClassesForTermResponseBody$) {
    /** @deprecated use `GetClassesForTermResponseBody$inboundSchema` instead. */
    GetClassesForTermResponseBody$.inboundSchema = GetClassesForTermResponseBody$inboundSchema;
    /** @deprecated use `GetClassesForTermResponseBody$outboundSchema` instead. */
    GetClassesForTermResponseBody$.outboundSchema = GetClassesForTermResponseBody$outboundSchema;
})(GetClassesForTermResponseBody$ || (GetClassesForTermResponseBody$ = {}));
export function getClassesForTermResponseBodyToJSON(getClassesForTermResponseBody) {
    return JSON.stringify(GetClassesForTermResponseBody$outboundSchema.parse(getClassesForTermResponseBody));
}
export function getClassesForTermResponseBodyFromJSON(jsonString) {
    return safeParse(jsonString, (x) => GetClassesForTermResponseBody$inboundSchema.parse(JSON.parse(x)), `Failed to parse 'GetClassesForTermResponseBody' from JSON`);
}
/** @internal */
export const GetClassesForTermResponse$inboundSchema = z.object({
    Result: z.lazy(() => GetClassesForTermResponseBody$inboundSchema),
}).transform((v) => {
    return remap$(v, {
        "Result": "result",
    });
});
/** @internal */
export const GetClassesForTermResponse$outboundSchema = z.object({
    result: z.lazy(() => GetClassesForTermResponseBody$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 GetClassesForTermResponse$;
(function (GetClassesForTermResponse$) {
    /** @deprecated use `GetClassesForTermResponse$inboundSchema` instead. */
    GetClassesForTermResponse$.inboundSchema = GetClassesForTermResponse$inboundSchema;
    /** @deprecated use `GetClassesForTermResponse$outboundSchema` instead. */
    GetClassesForTermResponse$.outboundSchema = GetClassesForTermResponse$outboundSchema;
})(GetClassesForTermResponse$ || (GetClassesForTermResponse$ = {}));
export function getClassesForTermResponseToJSON(getClassesForTermResponse) {
    return JSON.stringify(GetClassesForTermResponse$outboundSchema.parse(getClassesForTermResponse));
}
export function getClassesForTermResponseFromJSON(jsonString) {
    return safeParse(jsonString, (x) => GetClassesForTermResponse$inboundSchema.parse(JSON.parse(x)), `Failed to parse 'GetClassesForTermResponse' from JSON`);
}
//# sourceMappingURL=getclassesforterm.js.map