/*
 * 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";
/** @internal */
export const AddTeacherToClassUser$inboundSchema = z.object({
    sourcedId: z.string(),
});
/** @internal */
export const AddTeacherToClassUser$outboundSchema = z.object({
    sourcedId: z.string(),
});
/**
 * @internal
 * @deprecated This namespace will be removed in future versions. Use schemas and types that are exported directly from this module.
 */
export var AddTeacherToClassUser$;
(function (AddTeacherToClassUser$) {
    /** @deprecated use `AddTeacherToClassUser$inboundSchema` instead. */
    AddTeacherToClassUser$.inboundSchema = AddTeacherToClassUser$inboundSchema;
    /** @deprecated use `AddTeacherToClassUser$outboundSchema` instead. */
    AddTeacherToClassUser$.outboundSchema = AddTeacherToClassUser$outboundSchema;
})(AddTeacherToClassUser$ || (AddTeacherToClassUser$ = {}));
export function addTeacherToClassUserToJSON(addTeacherToClassUser) {
    return JSON.stringify(AddTeacherToClassUser$outboundSchema.parse(addTeacherToClassUser));
}
export function addTeacherToClassUserFromJSON(jsonString) {
    return safeParse(jsonString, (x) => AddTeacherToClassUser$inboundSchema.parse(JSON.parse(x)), `Failed to parse 'AddTeacherToClassUser' from JSON`);
}
/** @internal */
export const AddTeacherToClassEnrollment$inboundSchema = z.object({
    user: z.lazy(() => AddTeacherToClassUser$inboundSchema),
    primary: z.boolean().default(false),
    beginDate: z.string().optional(),
    endDate: z.string().optional(),
});
/** @internal */
export const AddTeacherToClassEnrollment$outboundSchema = z.object({
    user: z.lazy(() => AddTeacherToClassUser$outboundSchema),
    primary: z.boolean().default(false),
    beginDate: z.string().optional(),
    endDate: 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 AddTeacherToClassEnrollment$;
(function (AddTeacherToClassEnrollment$) {
    /** @deprecated use `AddTeacherToClassEnrollment$inboundSchema` instead. */
    AddTeacherToClassEnrollment$.inboundSchema = AddTeacherToClassEnrollment$inboundSchema;
    /** @deprecated use `AddTeacherToClassEnrollment$outboundSchema` instead. */
    AddTeacherToClassEnrollment$.outboundSchema = AddTeacherToClassEnrollment$outboundSchema;
})(AddTeacherToClassEnrollment$ || (AddTeacherToClassEnrollment$ = {}));
export function addTeacherToClassEnrollmentToJSON(addTeacherToClassEnrollment) {
    return JSON.stringify(AddTeacherToClassEnrollment$outboundSchema.parse(addTeacherToClassEnrollment));
}
export function addTeacherToClassEnrollmentFromJSON(jsonString) {
    return safeParse(jsonString, (x) => AddTeacherToClassEnrollment$inboundSchema.parse(JSON.parse(x)), `Failed to parse 'AddTeacherToClassEnrollment' from JSON`);
}
/** @internal */
export const AddTeacherToClassRequestBody$inboundSchema = z.object({
    enrollment: z.lazy(() => AddTeacherToClassEnrollment$inboundSchema),
});
/** @internal */
export const AddTeacherToClassRequestBody$outboundSchema = z.object({
    enrollment: z.lazy(() => AddTeacherToClassEnrollment$outboundSchema),
});
/**
 * @internal
 * @deprecated This namespace will be removed in future versions. Use schemas and types that are exported directly from this module.
 */
export var AddTeacherToClassRequestBody$;
(function (AddTeacherToClassRequestBody$) {
    /** @deprecated use `AddTeacherToClassRequestBody$inboundSchema` instead. */
    AddTeacherToClassRequestBody$.inboundSchema = AddTeacherToClassRequestBody$inboundSchema;
    /** @deprecated use `AddTeacherToClassRequestBody$outboundSchema` instead. */
    AddTeacherToClassRequestBody$.outboundSchema = AddTeacherToClassRequestBody$outboundSchema;
})(AddTeacherToClassRequestBody$ || (AddTeacherToClassRequestBody$ = {}));
export function addTeacherToClassRequestBodyToJSON(addTeacherToClassRequestBody) {
    return JSON.stringify(AddTeacherToClassRequestBody$outboundSchema.parse(addTeacherToClassRequestBody));
}
export function addTeacherToClassRequestBodyFromJSON(jsonString) {
    return safeParse(jsonString, (x) => AddTeacherToClassRequestBody$inboundSchema.parse(JSON.parse(x)), `Failed to parse 'AddTeacherToClassRequestBody' from JSON`);
}
/** @internal */
export const AddTeacherToClassRequest$inboundSchema = z.object({
    classSourcedId: z.string(),
    RequestBody: z.lazy(() => AddTeacherToClassRequestBody$inboundSchema)
        .optional(),
}).transform((v) => {
    return remap$(v, {
        "RequestBody": "requestBody",
    });
});
/** @internal */
export const AddTeacherToClassRequest$outboundSchema = z.object({
    classSourcedId: z.string(),
    requestBody: z.lazy(() => AddTeacherToClassRequestBody$outboundSchema)
        .optional(),
}).transform((v) => {
    return remap$(v, {
        requestBody: "RequestBody",
    });
});
/**
 * @internal
 * @deprecated This namespace will be removed in future versions. Use schemas and types that are exported directly from this module.
 */
export var AddTeacherToClassRequest$;
(function (AddTeacherToClassRequest$) {
    /** @deprecated use `AddTeacherToClassRequest$inboundSchema` instead. */
    AddTeacherToClassRequest$.inboundSchema = AddTeacherToClassRequest$inboundSchema;
    /** @deprecated use `AddTeacherToClassRequest$outboundSchema` instead. */
    AddTeacherToClassRequest$.outboundSchema = AddTeacherToClassRequest$outboundSchema;
})(AddTeacherToClassRequest$ || (AddTeacherToClassRequest$ = {}));
export function addTeacherToClassRequestToJSON(addTeacherToClassRequest) {
    return JSON.stringify(AddTeacherToClassRequest$outboundSchema.parse(addTeacherToClassRequest));
}
export function addTeacherToClassRequestFromJSON(jsonString) {
    return safeParse(jsonString, (x) => AddTeacherToClassRequest$inboundSchema.parse(JSON.parse(x)), `Failed to parse 'AddTeacherToClassRequest' from JSON`);
}
/** @internal */
export const AddTeacherToClassSourcedIdPairs$inboundSchema = z.object({
    suppliedSourcedId: z.string(),
    allocatedSourcedId: z.string(),
});
/** @internal */
export const AddTeacherToClassSourcedIdPairs$outboundSchema = z.object({
    suppliedSourcedId: z.string(),
    allocatedSourcedId: z.string(),
});
/**
 * @internal
 * @deprecated This namespace will be removed in future versions. Use schemas and types that are exported directly from this module.
 */
export var AddTeacherToClassSourcedIdPairs$;
(function (AddTeacherToClassSourcedIdPairs$) {
    /** @deprecated use `AddTeacherToClassSourcedIdPairs$inboundSchema` instead. */
    AddTeacherToClassSourcedIdPairs$.inboundSchema = AddTeacherToClassSourcedIdPairs$inboundSchema;
    /** @deprecated use `AddTeacherToClassSourcedIdPairs$outboundSchema` instead. */
    AddTeacherToClassSourcedIdPairs$.outboundSchema = AddTeacherToClassSourcedIdPairs$outboundSchema;
})(AddTeacherToClassSourcedIdPairs$ || (AddTeacherToClassSourcedIdPairs$ = {}));
export function addTeacherToClassSourcedIdPairsToJSON(addTeacherToClassSourcedIdPairs) {
    return JSON.stringify(AddTeacherToClassSourcedIdPairs$outboundSchema.parse(addTeacherToClassSourcedIdPairs));
}
export function addTeacherToClassSourcedIdPairsFromJSON(jsonString) {
    return safeParse(jsonString, (x) => AddTeacherToClassSourcedIdPairs$inboundSchema.parse(JSON.parse(x)), `Failed to parse 'AddTeacherToClassSourcedIdPairs' from JSON`);
}
/** @internal */
export const AddTeacherToClassResponse$inboundSchema = z.object({
    sourcedIdPairs: z.lazy(() => AddTeacherToClassSourcedIdPairs$inboundSchema),
});
/** @internal */
export const AddTeacherToClassResponse$outboundSchema = z.object({
    sourcedIdPairs: z.lazy(() => AddTeacherToClassSourcedIdPairs$outboundSchema),
});
/**
 * @internal
 * @deprecated This namespace will be removed in future versions. Use schemas and types that are exported directly from this module.
 */
export var AddTeacherToClassResponse$;
(function (AddTeacherToClassResponse$) {
    /** @deprecated use `AddTeacherToClassResponse$inboundSchema` instead. */
    AddTeacherToClassResponse$.inboundSchema = AddTeacherToClassResponse$inboundSchema;
    /** @deprecated use `AddTeacherToClassResponse$outboundSchema` instead. */
    AddTeacherToClassResponse$.outboundSchema = AddTeacherToClassResponse$outboundSchema;
})(AddTeacherToClassResponse$ || (AddTeacherToClassResponse$ = {}));
export function addTeacherToClassResponseToJSON(addTeacherToClassResponse) {
    return JSON.stringify(AddTeacherToClassResponse$outboundSchema.parse(addTeacherToClassResponse));
}
export function addTeacherToClassResponseFromJSON(jsonString) {
    return safeParse(jsonString, (x) => AddTeacherToClassResponse$inboundSchema.parse(JSON.parse(x)), `Failed to parse 'AddTeacherToClassResponse' from JSON`);
}
//# sourceMappingURL=addteachertoclass.js.map