/*
 * 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";
export const UpdateUserStatusRequest = {
    Active: "active",
    Tobedeleted: "tobedeleted",
};
export const UpdateUserRoleTypeRequest = {
    Primary: "primary",
    Secondary: "secondary",
};
export const UpdateUserRoleRequestEnum = {
    Administrator: "administrator",
    Aide: "aide",
    Guardian: "guardian",
    Parent: "parent",
    Proctor: "proctor",
    Relative: "relative",
    Student: "student",
    Teacher: "teacher",
};
export const UpdateUserStatusResponse = {
    Active: "active",
    Tobedeleted: "tobedeleted",
};
export const UpdateUserRoleTypeResponse = {
    Primary: "primary",
    Secondary: "secondary",
};
export const UpdateUserRoleResponseEnum = {
    Administrator: "administrator",
    Aide: "aide",
    Guardian: "guardian",
    Parent: "parent",
    Proctor: "proctor",
    Relative: "relative",
    Student: "student",
    Teacher: "teacher",
};
export const UpdateUserType = {
    AcademicSession: "academicSession",
    AssessmentLineItem: "assessmentLineItem",
    Category: "category",
    Class: "class",
    Course: "course",
    Demographics: "demographics",
    Enrollment: "enrollment",
    GradingPeriod: "gradingPeriod",
    LineItem: "lineItem",
    Org: "org",
    Resource: "resource",
    Result: "result",
    ScoreScale: "scoreScale",
    Student: "student",
    Teacher: "teacher",
    Term: "term",
    User: "user",
    ComponentResource: "componentResource",
    CourseComponent: "courseComponent",
};
/** @internal */
export const UpdateUserStatusRequest$inboundSchema = z.nativeEnum(UpdateUserStatusRequest);
/** @internal */
export const UpdateUserStatusRequest$outboundSchema = UpdateUserStatusRequest$inboundSchema;
/**
 * @internal
 * @deprecated This namespace will be removed in future versions. Use schemas and types that are exported directly from this module.
 */
export var UpdateUserStatusRequest$;
(function (UpdateUserStatusRequest$) {
    /** @deprecated use `UpdateUserStatusRequest$inboundSchema` instead. */
    UpdateUserStatusRequest$.inboundSchema = UpdateUserStatusRequest$inboundSchema;
    /** @deprecated use `UpdateUserStatusRequest$outboundSchema` instead. */
    UpdateUserStatusRequest$.outboundSchema = UpdateUserStatusRequest$outboundSchema;
})(UpdateUserStatusRequest$ || (UpdateUserStatusRequest$ = {}));
/** @internal */
export const UpdateUserUserIdRequest$inboundSchema = z.object({
    type: z.string(),
    identifier: z.string(),
});
/** @internal */
export const UpdateUserUserIdRequest$outboundSchema = z.object({
    type: z.string(),
    identifier: 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 UpdateUserUserIdRequest$;
(function (UpdateUserUserIdRequest$) {
    /** @deprecated use `UpdateUserUserIdRequest$inboundSchema` instead. */
    UpdateUserUserIdRequest$.inboundSchema = UpdateUserUserIdRequest$inboundSchema;
    /** @deprecated use `UpdateUserUserIdRequest$outboundSchema` instead. */
    UpdateUserUserIdRequest$.outboundSchema = UpdateUserUserIdRequest$outboundSchema;
})(UpdateUserUserIdRequest$ || (UpdateUserUserIdRequest$ = {}));
export function updateUserUserIdRequestToJSON(updateUserUserIdRequest) {
    return JSON.stringify(UpdateUserUserIdRequest$outboundSchema.parse(updateUserUserIdRequest));
}
export function updateUserUserIdRequestFromJSON(jsonString) {
    return safeParse(jsonString, (x) => UpdateUserUserIdRequest$inboundSchema.parse(JSON.parse(x)), `Failed to parse 'UpdateUserUserIdRequest' from JSON`);
}
/** @internal */
export const UpdateUserRoleTypeRequest$inboundSchema = z.nativeEnum(UpdateUserRoleTypeRequest);
/** @internal */
export const UpdateUserRoleTypeRequest$outboundSchema = UpdateUserRoleTypeRequest$inboundSchema;
/**
 * @internal
 * @deprecated This namespace will be removed in future versions. Use schemas and types that are exported directly from this module.
 */
export var UpdateUserRoleTypeRequest$;
(function (UpdateUserRoleTypeRequest$) {
    /** @deprecated use `UpdateUserRoleTypeRequest$inboundSchema` instead. */
    UpdateUserRoleTypeRequest$.inboundSchema = UpdateUserRoleTypeRequest$inboundSchema;
    /** @deprecated use `UpdateUserRoleTypeRequest$outboundSchema` instead. */
    UpdateUserRoleTypeRequest$.outboundSchema = UpdateUserRoleTypeRequest$outboundSchema;
})(UpdateUserRoleTypeRequest$ || (UpdateUserRoleTypeRequest$ = {}));
/** @internal */
export const UpdateUserRoleRequestEnum$inboundSchema = z.nativeEnum(UpdateUserRoleRequestEnum);
/** @internal */
export const UpdateUserRoleRequestEnum$outboundSchema = UpdateUserRoleRequestEnum$inboundSchema;
/**
 * @internal
 * @deprecated This namespace will be removed in future versions. Use schemas and types that are exported directly from this module.
 */
export var UpdateUserRoleRequestEnum$;
(function (UpdateUserRoleRequestEnum$) {
    /** @deprecated use `UpdateUserRoleRequestEnum$inboundSchema` instead. */
    UpdateUserRoleRequestEnum$.inboundSchema = UpdateUserRoleRequestEnum$inboundSchema;
    /** @deprecated use `UpdateUserRoleRequestEnum$outboundSchema` instead. */
    UpdateUserRoleRequestEnum$.outboundSchema = UpdateUserRoleRequestEnum$outboundSchema;
})(UpdateUserRoleRequestEnum$ || (UpdateUserRoleRequestEnum$ = {}));
/** @internal */
export const UpdateUserOrgRequest$inboundSchema = z.object({
    sourcedId: z.string(),
});
/** @internal */
export const UpdateUserOrgRequest$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 UpdateUserOrgRequest$;
(function (UpdateUserOrgRequest$) {
    /** @deprecated use `UpdateUserOrgRequest$inboundSchema` instead. */
    UpdateUserOrgRequest$.inboundSchema = UpdateUserOrgRequest$inboundSchema;
    /** @deprecated use `UpdateUserOrgRequest$outboundSchema` instead. */
    UpdateUserOrgRequest$.outboundSchema = UpdateUserOrgRequest$outboundSchema;
})(UpdateUserOrgRequest$ || (UpdateUserOrgRequest$ = {}));
export function updateUserOrgRequestToJSON(updateUserOrgRequest) {
    return JSON.stringify(UpdateUserOrgRequest$outboundSchema.parse(updateUserOrgRequest));
}
export function updateUserOrgRequestFromJSON(jsonString) {
    return safeParse(jsonString, (x) => UpdateUserOrgRequest$inboundSchema.parse(JSON.parse(x)), `Failed to parse 'UpdateUserOrgRequest' from JSON`);
}
/** @internal */
export const UpdateUserRoleRequest$inboundSchema = z.object({
    roleType: UpdateUserRoleTypeRequest$inboundSchema,
    role: UpdateUserRoleRequestEnum$inboundSchema,
    org: z.lazy(() => UpdateUserOrgRequest$inboundSchema),
    userProfile: z.string().optional(),
    beginDate: z.string().optional(),
    endDate: z.string().optional(),
});
/** @internal */
export const UpdateUserRoleRequest$outboundSchema = z.object({
    roleType: UpdateUserRoleTypeRequest$outboundSchema,
    role: UpdateUserRoleRequestEnum$outboundSchema,
    org: z.lazy(() => UpdateUserOrgRequest$outboundSchema),
    userProfile: z.string().optional(),
    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 UpdateUserRoleRequest$;
(function (UpdateUserRoleRequest$) {
    /** @deprecated use `UpdateUserRoleRequest$inboundSchema` instead. */
    UpdateUserRoleRequest$.inboundSchema = UpdateUserRoleRequest$inboundSchema;
    /** @deprecated use `UpdateUserRoleRequest$outboundSchema` instead. */
    UpdateUserRoleRequest$.outboundSchema = UpdateUserRoleRequest$outboundSchema;
})(UpdateUserRoleRequest$ || (UpdateUserRoleRequest$ = {}));
export function updateUserRoleRequestToJSON(updateUserRoleRequest) {
    return JSON.stringify(UpdateUserRoleRequest$outboundSchema.parse(updateUserRoleRequest));
}
export function updateUserRoleRequestFromJSON(jsonString) {
    return safeParse(jsonString, (x) => UpdateUserRoleRequest$inboundSchema.parse(JSON.parse(x)), `Failed to parse 'UpdateUserRoleRequest' from JSON`);
}
/** @internal */
export const UpdateUserPrimaryOrgRequest$inboundSchema = z.object({
    sourcedId: z.string(),
});
/** @internal */
export const UpdateUserPrimaryOrgRequest$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 UpdateUserPrimaryOrgRequest$;
(function (UpdateUserPrimaryOrgRequest$) {
    /** @deprecated use `UpdateUserPrimaryOrgRequest$inboundSchema` instead. */
    UpdateUserPrimaryOrgRequest$.inboundSchema = UpdateUserPrimaryOrgRequest$inboundSchema;
    /** @deprecated use `UpdateUserPrimaryOrgRequest$outboundSchema` instead. */
    UpdateUserPrimaryOrgRequest$.outboundSchema = UpdateUserPrimaryOrgRequest$outboundSchema;
})(UpdateUserPrimaryOrgRequest$ || (UpdateUserPrimaryOrgRequest$ = {}));
export function updateUserPrimaryOrgRequestToJSON(updateUserPrimaryOrgRequest) {
    return JSON.stringify(UpdateUserPrimaryOrgRequest$outboundSchema.parse(updateUserPrimaryOrgRequest));
}
export function updateUserPrimaryOrgRequestFromJSON(jsonString) {
    return safeParse(jsonString, (x) => UpdateUserPrimaryOrgRequest$inboundSchema.parse(JSON.parse(x)), `Failed to parse 'UpdateUserPrimaryOrgRequest' from JSON`);
}
/** @internal */
export const UpdateUserAgentRequest$inboundSchema = z.object({
    sourcedId: z.string(),
});
/** @internal */
export const UpdateUserAgentRequest$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 UpdateUserAgentRequest$;
(function (UpdateUserAgentRequest$) {
    /** @deprecated use `UpdateUserAgentRequest$inboundSchema` instead. */
    UpdateUserAgentRequest$.inboundSchema = UpdateUserAgentRequest$inboundSchema;
    /** @deprecated use `UpdateUserAgentRequest$outboundSchema` instead. */
    UpdateUserAgentRequest$.outboundSchema = UpdateUserAgentRequest$outboundSchema;
})(UpdateUserAgentRequest$ || (UpdateUserAgentRequest$ = {}));
export function updateUserAgentRequestToJSON(updateUserAgentRequest) {
    return JSON.stringify(UpdateUserAgentRequest$outboundSchema.parse(updateUserAgentRequest));
}
export function updateUserAgentRequestFromJSON(jsonString) {
    return safeParse(jsonString, (x) => UpdateUserAgentRequest$inboundSchema.parse(JSON.parse(x)), `Failed to parse 'UpdateUserAgentRequest' from JSON`);
}
/** @internal */
export const UpdateUserUserRequest$inboundSchema = z.object({
    sourcedId: z.string().optional(),
    metadata: z.record(z.any()).optional(),
    status: UpdateUserStatusRequest$inboundSchema.default("active"),
    userMasterIdentifier: z.nullable(z.string()).optional(),
    username: z.nullable(z.string()).optional(),
    userIds: z.array(z.lazy(() => UpdateUserUserIdRequest$inboundSchema))
        .optional(),
    enabledUser: z.boolean(),
    givenName: z.string(),
    familyName: z.string(),
    middleName: z.nullable(z.string()).optional(),
    roles: z.array(z.lazy(() => UpdateUserRoleRequest$inboundSchema)),
    primaryOrg: z.lazy(() => UpdateUserPrimaryOrgRequest$inboundSchema)
        .optional(),
    email: z.nullable(z.string()).optional(),
    preferredFirstName: z.nullable(z.string()).optional(),
    preferredMiddleName: z.nullable(z.string()).optional(),
    preferredLastName: z.nullable(z.string()).optional(),
    pronouns: z.nullable(z.string()).optional(),
    grades: z.array(z.string()).optional(),
    password: z.nullable(z.string()).optional(),
    sms: z.nullable(z.string()).optional(),
    phone: z.nullable(z.string()).optional(),
    agents: z.array(z.lazy(() => UpdateUserAgentRequest$inboundSchema))
        .optional(),
});
/** @internal */
export const UpdateUserUserRequest$outboundSchema = z.object({
    sourcedId: z.string().optional(),
    metadata: z.record(z.any()).optional(),
    status: UpdateUserStatusRequest$outboundSchema.default("active"),
    userMasterIdentifier: z.nullable(z.string()).optional(),
    username: z.nullable(z.string()).optional(),
    userIds: z.array(z.lazy(() => UpdateUserUserIdRequest$outboundSchema))
        .optional(),
    enabledUser: z.boolean(),
    givenName: z.string(),
    familyName: z.string(),
    middleName: z.nullable(z.string()).optional(),
    roles: z.array(z.lazy(() => UpdateUserRoleRequest$outboundSchema)),
    primaryOrg: z.lazy(() => UpdateUserPrimaryOrgRequest$outboundSchema)
        .optional(),
    email: z.nullable(z.string()).optional(),
    preferredFirstName: z.nullable(z.string()).optional(),
    preferredMiddleName: z.nullable(z.string()).optional(),
    preferredLastName: z.nullable(z.string()).optional(),
    pronouns: z.nullable(z.string()).optional(),
    grades: z.array(z.string()).optional(),
    password: z.nullable(z.string()).optional(),
    sms: z.nullable(z.string()).optional(),
    phone: z.nullable(z.string()).optional(),
    agents: z.array(z.lazy(() => UpdateUserAgentRequest$outboundSchema))
        .optional(),
});
/**
 * @internal
 * @deprecated This namespace will be removed in future versions. Use schemas and types that are exported directly from this module.
 */
export var UpdateUserUserRequest$;
(function (UpdateUserUserRequest$) {
    /** @deprecated use `UpdateUserUserRequest$inboundSchema` instead. */
    UpdateUserUserRequest$.inboundSchema = UpdateUserUserRequest$inboundSchema;
    /** @deprecated use `UpdateUserUserRequest$outboundSchema` instead. */
    UpdateUserUserRequest$.outboundSchema = UpdateUserUserRequest$outboundSchema;
})(UpdateUserUserRequest$ || (UpdateUserUserRequest$ = {}));
export function updateUserUserRequestToJSON(updateUserUserRequest) {
    return JSON.stringify(UpdateUserUserRequest$outboundSchema.parse(updateUserUserRequest));
}
export function updateUserUserRequestFromJSON(jsonString) {
    return safeParse(jsonString, (x) => UpdateUserUserRequest$inboundSchema.parse(JSON.parse(x)), `Failed to parse 'UpdateUserUserRequest' from JSON`);
}
/** @internal */
export const UpdateUserRequestBody$inboundSchema = z.object({
    user: z.lazy(() => UpdateUserUserRequest$inboundSchema),
});
/** @internal */
export const UpdateUserRequestBody$outboundSchema = z.object({
    user: z.lazy(() => UpdateUserUserRequest$outboundSchema),
});
/**
 * @internal
 * @deprecated This namespace will be removed in future versions. Use schemas and types that are exported directly from this module.
 */
export var UpdateUserRequestBody$;
(function (UpdateUserRequestBody$) {
    /** @deprecated use `UpdateUserRequestBody$inboundSchema` instead. */
    UpdateUserRequestBody$.inboundSchema = UpdateUserRequestBody$inboundSchema;
    /** @deprecated use `UpdateUserRequestBody$outboundSchema` instead. */
    UpdateUserRequestBody$.outboundSchema = UpdateUserRequestBody$outboundSchema;
})(UpdateUserRequestBody$ || (UpdateUserRequestBody$ = {}));
export function updateUserRequestBodyToJSON(updateUserRequestBody) {
    return JSON.stringify(UpdateUserRequestBody$outboundSchema.parse(updateUserRequestBody));
}
export function updateUserRequestBodyFromJSON(jsonString) {
    return safeParse(jsonString, (x) => UpdateUserRequestBody$inboundSchema.parse(JSON.parse(x)), `Failed to parse 'UpdateUserRequestBody' from JSON`);
}
/** @internal */
export const UpdateUserRequest$inboundSchema = z.object({
    sourcedId: z.string(),
    RequestBody: z.lazy(() => UpdateUserRequestBody$inboundSchema),
}).transform((v) => {
    return remap$(v, {
        "RequestBody": "requestBody",
    });
});
/** @internal */
export const UpdateUserRequest$outboundSchema = z.object({
    sourcedId: z.string(),
    requestBody: z.lazy(() => UpdateUserRequestBody$outboundSchema),
}).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 UpdateUserRequest$;
(function (UpdateUserRequest$) {
    /** @deprecated use `UpdateUserRequest$inboundSchema` instead. */
    UpdateUserRequest$.inboundSchema = UpdateUserRequest$inboundSchema;
    /** @deprecated use `UpdateUserRequest$outboundSchema` instead. */
    UpdateUserRequest$.outboundSchema = UpdateUserRequest$outboundSchema;
})(UpdateUserRequest$ || (UpdateUserRequest$ = {}));
export function updateUserRequestToJSON(updateUserRequest) {
    return JSON.stringify(UpdateUserRequest$outboundSchema.parse(updateUserRequest));
}
export function updateUserRequestFromJSON(jsonString) {
    return safeParse(jsonString, (x) => UpdateUserRequest$inboundSchema.parse(JSON.parse(x)), `Failed to parse 'UpdateUserRequest' from JSON`);
}
/** @internal */
export const UpdateUserStatusResponse$inboundSchema = z.nativeEnum(UpdateUserStatusResponse);
/** @internal */
export const UpdateUserStatusResponse$outboundSchema = UpdateUserStatusResponse$inboundSchema;
/**
 * @internal
 * @deprecated This namespace will be removed in future versions. Use schemas and types that are exported directly from this module.
 */
export var UpdateUserStatusResponse$;
(function (UpdateUserStatusResponse$) {
    /** @deprecated use `UpdateUserStatusResponse$inboundSchema` instead. */
    UpdateUserStatusResponse$.inboundSchema = UpdateUserStatusResponse$inboundSchema;
    /** @deprecated use `UpdateUserStatusResponse$outboundSchema` instead. */
    UpdateUserStatusResponse$.outboundSchema = UpdateUserStatusResponse$outboundSchema;
})(UpdateUserStatusResponse$ || (UpdateUserStatusResponse$ = {}));
/** @internal */
export const UpdateUserUserIdResponse$inboundSchema = z.object({
    type: z.string(),
    identifier: z.string(),
});
/** @internal */
export const UpdateUserUserIdResponse$outboundSchema = z.object({
    type: z.string(),
    identifier: 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 UpdateUserUserIdResponse$;
(function (UpdateUserUserIdResponse$) {
    /** @deprecated use `UpdateUserUserIdResponse$inboundSchema` instead. */
    UpdateUserUserIdResponse$.inboundSchema = UpdateUserUserIdResponse$inboundSchema;
    /** @deprecated use `UpdateUserUserIdResponse$outboundSchema` instead. */
    UpdateUserUserIdResponse$.outboundSchema = UpdateUserUserIdResponse$outboundSchema;
})(UpdateUserUserIdResponse$ || (UpdateUserUserIdResponse$ = {}));
export function updateUserUserIdResponseToJSON(updateUserUserIdResponse) {
    return JSON.stringify(UpdateUserUserIdResponse$outboundSchema.parse(updateUserUserIdResponse));
}
export function updateUserUserIdResponseFromJSON(jsonString) {
    return safeParse(jsonString, (x) => UpdateUserUserIdResponse$inboundSchema.parse(JSON.parse(x)), `Failed to parse 'UpdateUserUserIdResponse' from JSON`);
}
/** @internal */
export const UpdateUserRoleTypeResponse$inboundSchema = z.nativeEnum(UpdateUserRoleTypeResponse);
/** @internal */
export const UpdateUserRoleTypeResponse$outboundSchema = UpdateUserRoleTypeResponse$inboundSchema;
/**
 * @internal
 * @deprecated This namespace will be removed in future versions. Use schemas and types that are exported directly from this module.
 */
export var UpdateUserRoleTypeResponse$;
(function (UpdateUserRoleTypeResponse$) {
    /** @deprecated use `UpdateUserRoleTypeResponse$inboundSchema` instead. */
    UpdateUserRoleTypeResponse$.inboundSchema = UpdateUserRoleTypeResponse$inboundSchema;
    /** @deprecated use `UpdateUserRoleTypeResponse$outboundSchema` instead. */
    UpdateUserRoleTypeResponse$.outboundSchema = UpdateUserRoleTypeResponse$outboundSchema;
})(UpdateUserRoleTypeResponse$ || (UpdateUserRoleTypeResponse$ = {}));
/** @internal */
export const UpdateUserRoleResponseEnum$inboundSchema = z.nativeEnum(UpdateUserRoleResponseEnum);
/** @internal */
export const UpdateUserRoleResponseEnum$outboundSchema = UpdateUserRoleResponseEnum$inboundSchema;
/**
 * @internal
 * @deprecated This namespace will be removed in future versions. Use schemas and types that are exported directly from this module.
 */
export var UpdateUserRoleResponseEnum$;
(function (UpdateUserRoleResponseEnum$) {
    /** @deprecated use `UpdateUserRoleResponseEnum$inboundSchema` instead. */
    UpdateUserRoleResponseEnum$.inboundSchema = UpdateUserRoleResponseEnum$inboundSchema;
    /** @deprecated use `UpdateUserRoleResponseEnum$outboundSchema` instead. */
    UpdateUserRoleResponseEnum$.outboundSchema = UpdateUserRoleResponseEnum$outboundSchema;
})(UpdateUserRoleResponseEnum$ || (UpdateUserRoleResponseEnum$ = {}));
/** @internal */
export const UpdateUserOrgResponse$inboundSchema = z.object({
    href: z.string(),
    sourcedId: z.string(),
    type: z.string(),
});
/** @internal */
export const UpdateUserOrgResponse$outboundSchema = z.object({
    href: z.string(),
    sourcedId: z.string(),
    type: 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 UpdateUserOrgResponse$;
(function (UpdateUserOrgResponse$) {
    /** @deprecated use `UpdateUserOrgResponse$inboundSchema` instead. */
    UpdateUserOrgResponse$.inboundSchema = UpdateUserOrgResponse$inboundSchema;
    /** @deprecated use `UpdateUserOrgResponse$outboundSchema` instead. */
    UpdateUserOrgResponse$.outboundSchema = UpdateUserOrgResponse$outboundSchema;
})(UpdateUserOrgResponse$ || (UpdateUserOrgResponse$ = {}));
export function updateUserOrgResponseToJSON(updateUserOrgResponse) {
    return JSON.stringify(UpdateUserOrgResponse$outboundSchema.parse(updateUserOrgResponse));
}
export function updateUserOrgResponseFromJSON(jsonString) {
    return safeParse(jsonString, (x) => UpdateUserOrgResponse$inboundSchema.parse(JSON.parse(x)), `Failed to parse 'UpdateUserOrgResponse' from JSON`);
}
/** @internal */
export const UpdateUserRoleResponse$inboundSchema = z.object({
    roleType: UpdateUserRoleTypeResponse$inboundSchema,
    role: UpdateUserRoleResponseEnum$inboundSchema,
    org: z.lazy(() => UpdateUserOrgResponse$inboundSchema),
    userProfile: z.string().optional(),
    beginDate: z.nullable(z.string()),
    endDate: z.nullable(z.string()),
});
/** @internal */
export const UpdateUserRoleResponse$outboundSchema = z.object({
    roleType: UpdateUserRoleTypeResponse$outboundSchema,
    role: UpdateUserRoleResponseEnum$outboundSchema,
    org: z.lazy(() => UpdateUserOrgResponse$outboundSchema),
    userProfile: z.string().optional(),
    beginDate: z.nullable(z.string()),
    endDate: z.nullable(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 UpdateUserRoleResponse$;
(function (UpdateUserRoleResponse$) {
    /** @deprecated use `UpdateUserRoleResponse$inboundSchema` instead. */
    UpdateUserRoleResponse$.inboundSchema = UpdateUserRoleResponse$inboundSchema;
    /** @deprecated use `UpdateUserRoleResponse$outboundSchema` instead. */
    UpdateUserRoleResponse$.outboundSchema = UpdateUserRoleResponse$outboundSchema;
})(UpdateUserRoleResponse$ || (UpdateUserRoleResponse$ = {}));
export function updateUserRoleResponseToJSON(updateUserRoleResponse) {
    return JSON.stringify(UpdateUserRoleResponse$outboundSchema.parse(updateUserRoleResponse));
}
export function updateUserRoleResponseFromJSON(jsonString) {
    return safeParse(jsonString, (x) => UpdateUserRoleResponse$inboundSchema.parse(JSON.parse(x)), `Failed to parse 'UpdateUserRoleResponse' from JSON`);
}
/** @internal */
export const UpdateUserType$inboundSchema = z.nativeEnum(UpdateUserType);
/** @internal */
export const UpdateUserType$outboundSchema = UpdateUserType$inboundSchema;
/**
 * @internal
 * @deprecated This namespace will be removed in future versions. Use schemas and types that are exported directly from this module.
 */
export var UpdateUserType$;
(function (UpdateUserType$) {
    /** @deprecated use `UpdateUserType$inboundSchema` instead. */
    UpdateUserType$.inboundSchema = UpdateUserType$inboundSchema;
    /** @deprecated use `UpdateUserType$outboundSchema` instead. */
    UpdateUserType$.outboundSchema = UpdateUserType$outboundSchema;
})(UpdateUserType$ || (UpdateUserType$ = {}));
/** @internal */
export const UpdateUserAgentResponse$inboundSchema = z.object({
    href: z.string(),
    sourcedId: z.string(),
    type: UpdateUserType$inboundSchema,
});
/** @internal */
export const UpdateUserAgentResponse$outboundSchema = z.object({
    href: z.string(),
    sourcedId: z.string(),
    type: UpdateUserType$outboundSchema,
});
/**
 * @internal
 * @deprecated This namespace will be removed in future versions. Use schemas and types that are exported directly from this module.
 */
export var UpdateUserAgentResponse$;
(function (UpdateUserAgentResponse$) {
    /** @deprecated use `UpdateUserAgentResponse$inboundSchema` instead. */
    UpdateUserAgentResponse$.inboundSchema = UpdateUserAgentResponse$inboundSchema;
    /** @deprecated use `UpdateUserAgentResponse$outboundSchema` instead. */
    UpdateUserAgentResponse$.outboundSchema = UpdateUserAgentResponse$outboundSchema;
})(UpdateUserAgentResponse$ || (UpdateUserAgentResponse$ = {}));
export function updateUserAgentResponseToJSON(updateUserAgentResponse) {
    return JSON.stringify(UpdateUserAgentResponse$outboundSchema.parse(updateUserAgentResponse));
}
export function updateUserAgentResponseFromJSON(jsonString) {
    return safeParse(jsonString, (x) => UpdateUserAgentResponse$inboundSchema.parse(JSON.parse(x)), `Failed to parse 'UpdateUserAgentResponse' from JSON`);
}
/** @internal */
export const UpdateUserPrimaryOrgResponse$inboundSchema = z.object({
    href: z.string(),
    sourcedId: z.string(),
    type: z.string(),
});
/** @internal */
export const UpdateUserPrimaryOrgResponse$outboundSchema = z.object({
    href: z.string(),
    sourcedId: z.string(),
    type: 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 UpdateUserPrimaryOrgResponse$;
(function (UpdateUserPrimaryOrgResponse$) {
    /** @deprecated use `UpdateUserPrimaryOrgResponse$inboundSchema` instead. */
    UpdateUserPrimaryOrgResponse$.inboundSchema = UpdateUserPrimaryOrgResponse$inboundSchema;
    /** @deprecated use `UpdateUserPrimaryOrgResponse$outboundSchema` instead. */
    UpdateUserPrimaryOrgResponse$.outboundSchema = UpdateUserPrimaryOrgResponse$outboundSchema;
})(UpdateUserPrimaryOrgResponse$ || (UpdateUserPrimaryOrgResponse$ = {}));
export function updateUserPrimaryOrgResponseToJSON(updateUserPrimaryOrgResponse) {
    return JSON.stringify(UpdateUserPrimaryOrgResponse$outboundSchema.parse(updateUserPrimaryOrgResponse));
}
export function updateUserPrimaryOrgResponseFromJSON(jsonString) {
    return safeParse(jsonString, (x) => UpdateUserPrimaryOrgResponse$inboundSchema.parse(JSON.parse(x)), `Failed to parse 'UpdateUserPrimaryOrgResponse' from JSON`);
}
/** @internal */
export const UpdateUserUserResponse$inboundSchema = z.object({
    sourcedId: z.string(),
    status: UpdateUserStatusResponse$inboundSchema,
    dateLastModified: z.string().datetime({ offset: true }).transform(v => new Date(v)).optional(),
    metadata: z.nullable(z.record(z.any())).optional(),
    userMasterIdentifier: z.nullable(z.string()).optional(),
    username: z.nullable(z.string()).optional(),
    userIds: z.array(z.lazy(() => UpdateUserUserIdResponse$inboundSchema))
        .optional(),
    enabledUser: z.boolean(),
    givenName: z.string(),
    familyName: z.string(),
    middleName: z.nullable(z.string()).optional(),
    roles: z.array(z.lazy(() => UpdateUserRoleResponse$inboundSchema)),
    agents: z.array(z.lazy(() => UpdateUserAgentResponse$inboundSchema)),
    primaryOrg: z.lazy(() => UpdateUserPrimaryOrgResponse$inboundSchema)
        .optional(),
    email: z.nullable(z.string()).optional(),
    preferredFirstName: z.nullable(z.string()).optional(),
    preferredMiddleName: z.nullable(z.string()).optional(),
    preferredLastName: z.nullable(z.string()).optional(),
    pronouns: z.nullable(z.string()).optional(),
    grades: z.array(z.string()).optional(),
    password: z.nullable(z.string()).optional(),
    sms: z.nullable(z.string()).optional(),
    phone: z.nullable(z.string()).optional(),
});
/** @internal */
export const UpdateUserUserResponse$outboundSchema = z.object({
    sourcedId: z.string(),
    status: UpdateUserStatusResponse$outboundSchema,
    dateLastModified: z.date().transform(v => v.toISOString()).optional(),
    metadata: z.nullable(z.record(z.any())).optional(),
    userMasterIdentifier: z.nullable(z.string()).optional(),
    username: z.nullable(z.string()).optional(),
    userIds: z.array(z.lazy(() => UpdateUserUserIdResponse$outboundSchema))
        .optional(),
    enabledUser: z.boolean(),
    givenName: z.string(),
    familyName: z.string(),
    middleName: z.nullable(z.string()).optional(),
    roles: z.array(z.lazy(() => UpdateUserRoleResponse$outboundSchema)),
    agents: z.array(z.lazy(() => UpdateUserAgentResponse$outboundSchema)),
    primaryOrg: z.lazy(() => UpdateUserPrimaryOrgResponse$outboundSchema)
        .optional(),
    email: z.nullable(z.string()).optional(),
    preferredFirstName: z.nullable(z.string()).optional(),
    preferredMiddleName: z.nullable(z.string()).optional(),
    preferredLastName: z.nullable(z.string()).optional(),
    pronouns: z.nullable(z.string()).optional(),
    grades: z.array(z.string()).optional(),
    password: z.nullable(z.string()).optional(),
    sms: z.nullable(z.string()).optional(),
    phone: z.nullable(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 UpdateUserUserResponse$;
(function (UpdateUserUserResponse$) {
    /** @deprecated use `UpdateUserUserResponse$inboundSchema` instead. */
    UpdateUserUserResponse$.inboundSchema = UpdateUserUserResponse$inboundSchema;
    /** @deprecated use `UpdateUserUserResponse$outboundSchema` instead. */
    UpdateUserUserResponse$.outboundSchema = UpdateUserUserResponse$outboundSchema;
})(UpdateUserUserResponse$ || (UpdateUserUserResponse$ = {}));
export function updateUserUserResponseToJSON(updateUserUserResponse) {
    return JSON.stringify(UpdateUserUserResponse$outboundSchema.parse(updateUserUserResponse));
}
export function updateUserUserResponseFromJSON(jsonString) {
    return safeParse(jsonString, (x) => UpdateUserUserResponse$inboundSchema.parse(JSON.parse(x)), `Failed to parse 'UpdateUserUserResponse' from JSON`);
}
/** @internal */
export const UpdateUserResponse$inboundSchema = z.object({
    user: z.lazy(() => UpdateUserUserResponse$inboundSchema),
});
/** @internal */
export const UpdateUserResponse$outboundSchema = z.object({
    user: z.lazy(() => UpdateUserUserResponse$outboundSchema),
});
/**
 * @internal
 * @deprecated This namespace will be removed in future versions. Use schemas and types that are exported directly from this module.
 */
export var UpdateUserResponse$;
(function (UpdateUserResponse$) {
    /** @deprecated use `UpdateUserResponse$inboundSchema` instead. */
    UpdateUserResponse$.inboundSchema = UpdateUserResponse$inboundSchema;
    /** @deprecated use `UpdateUserResponse$outboundSchema` instead. */
    UpdateUserResponse$.outboundSchema = UpdateUserResponse$outboundSchema;
})(UpdateUserResponse$ || (UpdateUserResponse$ = {}));
export function updateUserResponseToJSON(updateUserResponse) {
    return JSON.stringify(UpdateUserResponse$outboundSchema.parse(updateUserResponse));
}
export function updateUserResponseFromJSON(jsonString) {
    return safeParse(jsonString, (x) => UpdateUserResponse$inboundSchema.parse(JSON.parse(x)), `Failed to parse 'UpdateUserResponse' from JSON`);
}
//# sourceMappingURL=updateuser.js.map