/*
 * 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 GetScoreScalesForClassOrderBy = {
    Asc: "asc",
    Desc: "desc",
};
/** @internal */
export const GetScoreScalesForClassOrderBy$inboundSchema = z.nativeEnum(GetScoreScalesForClassOrderBy);
/** @internal */
export const GetScoreScalesForClassOrderBy$outboundSchema = GetScoreScalesForClassOrderBy$inboundSchema;
/**
 * @internal
 * @deprecated This namespace will be removed in future versions. Use schemas and types that are exported directly from this module.
 */
export var GetScoreScalesForClassOrderBy$;
(function (GetScoreScalesForClassOrderBy$) {
    /** @deprecated use `GetScoreScalesForClassOrderBy$inboundSchema` instead. */
    GetScoreScalesForClassOrderBy$.inboundSchema = GetScoreScalesForClassOrderBy$inboundSchema;
    /** @deprecated use `GetScoreScalesForClassOrderBy$outboundSchema` instead. */
    GetScoreScalesForClassOrderBy$.outboundSchema = GetScoreScalesForClassOrderBy$outboundSchema;
})(GetScoreScalesForClassOrderBy$ || (GetScoreScalesForClassOrderBy$ = {}));
/** @internal */
export const GetScoreScalesForClassRequest$inboundSchema = z.object({
    sourcedId: z.string(),
    fields: z.string().optional(),
    limit: z.number().int().default(100),
    offset: z.number().int().default(0),
    sort: z.string().optional(),
    orderBy: GetScoreScalesForClassOrderBy$inboundSchema.optional(),
    filter: z.string().optional(),
    search: z.string().optional(),
});
/** @internal */
export const GetScoreScalesForClassRequest$outboundSchema = z.object({
    sourcedId: z.string(),
    fields: z.string().optional(),
    limit: z.number().int().default(100),
    offset: z.number().int().default(0),
    sort: z.string().optional(),
    orderBy: GetScoreScalesForClassOrderBy$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 GetScoreScalesForClassRequest$;
(function (GetScoreScalesForClassRequest$) {
    /** @deprecated use `GetScoreScalesForClassRequest$inboundSchema` instead. */
    GetScoreScalesForClassRequest$.inboundSchema = GetScoreScalesForClassRequest$inboundSchema;
    /** @deprecated use `GetScoreScalesForClassRequest$outboundSchema` instead. */
    GetScoreScalesForClassRequest$.outboundSchema = GetScoreScalesForClassRequest$outboundSchema;
})(GetScoreScalesForClassRequest$ || (GetScoreScalesForClassRequest$ = {}));
export function getScoreScalesForClassRequestToJSON(getScoreScalesForClassRequest) {
    return JSON.stringify(GetScoreScalesForClassRequest$outboundSchema.parse(getScoreScalesForClassRequest));
}
export function getScoreScalesForClassRequestFromJSON(jsonString) {
    return safeParse(jsonString, (x) => GetScoreScalesForClassRequest$inboundSchema.parse(JSON.parse(x)), `Failed to parse 'GetScoreScalesForClassRequest' from JSON`);
}
/** @internal */
export const GetScoreScalesForClassResponseBody$inboundSchema = z.object({
    scoreScales: z.array(components.ScoreScale$inboundSchema),
    totalCount: z.number(),
    pageCount: z.number(),
    pageNumber: z.number(),
    offset: z.number(),
    limit: z.number(),
});
/** @internal */
export const GetScoreScalesForClassResponseBody$outboundSchema = z.object({
    scoreScales: z.array(components.ScoreScale$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 GetScoreScalesForClassResponseBody$;
(function (GetScoreScalesForClassResponseBody$) {
    /** @deprecated use `GetScoreScalesForClassResponseBody$inboundSchema` instead. */
    GetScoreScalesForClassResponseBody$.inboundSchema = GetScoreScalesForClassResponseBody$inboundSchema;
    /** @deprecated use `GetScoreScalesForClassResponseBody$outboundSchema` instead. */
    GetScoreScalesForClassResponseBody$.outboundSchema = GetScoreScalesForClassResponseBody$outboundSchema;
})(GetScoreScalesForClassResponseBody$ || (GetScoreScalesForClassResponseBody$ = {}));
export function getScoreScalesForClassResponseBodyToJSON(getScoreScalesForClassResponseBody) {
    return JSON.stringify(GetScoreScalesForClassResponseBody$outboundSchema.parse(getScoreScalesForClassResponseBody));
}
export function getScoreScalesForClassResponseBodyFromJSON(jsonString) {
    return safeParse(jsonString, (x) => GetScoreScalesForClassResponseBody$inboundSchema.parse(JSON.parse(x)), `Failed to parse 'GetScoreScalesForClassResponseBody' from JSON`);
}
/** @internal */
export const GetScoreScalesForClassResponse$inboundSchema = z.object({
    Result: z.lazy(() => GetScoreScalesForClassResponseBody$inboundSchema),
}).transform((v) => {
    return remap$(v, {
        "Result": "result",
    });
});
/** @internal */
export const GetScoreScalesForClassResponse$outboundSchema = z.object({
    result: z.lazy(() => GetScoreScalesForClassResponseBody$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 GetScoreScalesForClassResponse$;
(function (GetScoreScalesForClassResponse$) {
    /** @deprecated use `GetScoreScalesForClassResponse$inboundSchema` instead. */
    GetScoreScalesForClassResponse$.inboundSchema = GetScoreScalesForClassResponse$inboundSchema;
    /** @deprecated use `GetScoreScalesForClassResponse$outboundSchema` instead. */
    GetScoreScalesForClassResponse$.outboundSchema = GetScoreScalesForClassResponse$outboundSchema;
})(GetScoreScalesForClassResponse$ || (GetScoreScalesForClassResponse$ = {}));
export function getScoreScalesForClassResponseToJSON(getScoreScalesForClassResponse) {
    return JSON.stringify(GetScoreScalesForClassResponse$outboundSchema.parse(getScoreScalesForClassResponse));
}
export function getScoreScalesForClassResponseFromJSON(jsonString) {
    return safeParse(jsonString, (x) => GetScoreScalesForClassResponse$inboundSchema.parse(JSON.parse(x)), `Failed to parse 'GetScoreScalesForClassResponse' from JSON`);
}
//# sourceMappingURL=getscorescalesforclass.js.map