/*
 * Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT.
 */
import * as z from "zod";
import { safeParse } from "../../lib/schemas.js";
export const CreateUserStatusRequest = {
    Active: "active",
    Tobedeleted: "tobedeleted",
};
export const CreateUserRoleTypeRequest = {
    Primary: "primary",
    Secondary: "secondary",
};
export const CreateUserRoleRequestEnum = {
    Administrator: "administrator",
    Aide: "aide",
    Guardian: "guardian",
    Parent: "parent",
    Proctor: "proctor",
    Relative: "relative",
    Student: "student",
    Teacher: "teacher",
};
export const CreateUserStatusResponse = {
    Active: "active",
    Tobedeleted: "tobedeleted",
};
export const CreateUserRoleTypeResponse = {
    Primary: "primary",
    Secondary: "secondary",
};
export const CreateUserRoleResponseEnum = {
    Administrator: "administrator",
    Aide: "aide",
    Guardian: "guardian",
    Parent: "parent",
    Proctor: "proctor",
    Relative: "relative",
    Student: "student",
    Teacher: "teacher",
};
export const CreateUserType = {
    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 CreateUserStatusRequest$inboundSchema = z.nativeEnum(CreateUserStatusRequest);
/** @internal */
export const CreateUserStatusRequest$outboundSchema = CreateUserStatusRequest$inboundSchema;
/**
 * @internal
 * @deprecated This namespace will be removed in future versions. Use schemas and types that are exported directly from this module.
 */
export var CreateUserStatusRequest$;
(function (CreateUserStatusRequest$) {
    /** @deprecated use `CreateUserStatusRequest$inboundSchema` instead. */
    CreateUserStatusRequest$.inboundSchema = CreateUserStatusRequest$inboundSchema;
    /** @deprecated use `CreateUserStatusRequest$outboundSchema` instead. */
    CreateUserStatusRequest$.outboundSchema = CreateUserStatusRequest$outboundSchema;
})(CreateUserStatusRequest$ || (CreateUserStatusRequest$ = {}));
/** @internal */
export const CreateUserUserIdRequest$inboundSchema = z.object({
    type: z.string(),
    identifier: z.string(),
});
/** @internal */
export const CreateUserUserIdRequest$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 CreateUserUserIdRequest$;
(function (CreateUserUserIdRequest$) {
    /** @deprecated use `CreateUserUserIdRequest$inboundSchema` instead. */
    CreateUserUserIdRequest$.inboundSchema = CreateUserUserIdRequest$inboundSchema;
    /** @deprecated use `CreateUserUserIdRequest$outboundSchema` instead. */
    CreateUserUserIdRequest$.outboundSchema = CreateUserUserIdRequest$outboundSchema;
})(CreateUserUserIdRequest$ || (CreateUserUserIdRequest$ = {}));
export function createUserUserIdRequestToJSON(createUserUserIdRequest) {
    return JSON.stringify(CreateUserUserIdRequest$outboundSchema.parse(createUserUserIdRequest));
}
export function createUserUserIdRequestFromJSON(jsonString) {
    return safeParse(jsonString, (x) => CreateUserUserIdRequest$inboundSchema.parse(JSON.parse(x)), `Failed to parse 'CreateUserUserIdRequest' from JSON`);
}
/** @internal */
export const CreateUserRoleTypeRequest$inboundSchema = z.nativeEnum(CreateUserRoleTypeRequest);
/** @internal */
export const CreateUserRoleTypeRequest$outboundSchema = CreateUserRoleTypeRequest$inboundSchema;
/**
 * @internal
 * @deprecated This namespace will be removed in future versions. Use schemas and types that are exported directly from this module.
 */
export var CreateUserRoleTypeRequest$;
(function (CreateUserRoleTypeRequest$) {
    /** @deprecated use `CreateUserRoleTypeRequest$inboundSchema` instead. */
    CreateUserRoleTypeRequest$.inboundSchema = CreateUserRoleTypeRequest$inboundSchema;
    /** @deprecated use `CreateUserRoleTypeRequest$outboundSchema` instead. */
    CreateUserRoleTypeRequest$.outboundSchema = CreateUserRoleTypeRequest$outboundSchema;
})(CreateUserRoleTypeRequest$ || (CreateUserRoleTypeRequest$ = {}));
/** @internal */
export const CreateUserRoleRequestEnum$inboundSchema = z.nativeEnum(CreateUserRoleRequestEnum);
/** @internal */
export const CreateUserRoleRequestEnum$outboundSchema = CreateUserRoleRequestEnum$inboundSchema;
/**
 * @internal
 * @deprecated This namespace will be removed in future versions. Use schemas and types that are exported directly from this module.
 */
export var CreateUserRoleRequestEnum$;
(function (CreateUserRoleRequestEnum$) {
    /** @deprecated use `CreateUserRoleRequestEnum$inboundSchema` instead. */
    CreateUserRoleRequestEnum$.inboundSchema = CreateUserRoleRequestEnum$inboundSchema;
    /** @deprecated use `CreateUserRoleRequestEnum$outboundSchema` instead. */
    CreateUserRoleRequestEnum$.outboundSchema = CreateUserRoleRequestEnum$outboundSchema;
})(CreateUserRoleRequestEnum$ || (CreateUserRoleRequestEnum$ = {}));
/** @internal */
export const CreateUserOrgRequest$inboundSchema = z.object({
    sourcedId: z.string(),
});
/** @internal */
export const CreateUserOrgRequest$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 CreateUserOrgRequest$;
(function (CreateUserOrgRequest$) {
    /** @deprecated use `CreateUserOrgRequest$inboundSchema` instead. */
    CreateUserOrgRequest$.inboundSchema = CreateUserOrgRequest$inboundSchema;
    /** @deprecated use `CreateUserOrgRequest$outboundSchema` instead. */
    CreateUserOrgRequest$.outboundSchema = CreateUserOrgRequest$outboundSchema;
})(CreateUserOrgRequest$ || (CreateUserOrgRequest$ = {}));
export function createUserOrgRequestToJSON(createUserOrgRequest) {
    return JSON.stringify(CreateUserOrgRequest$outboundSchema.parse(createUserOrgRequest));
}
export function createUserOrgRequestFromJSON(jsonString) {
    return safeParse(jsonString, (x) => CreateUserOrgRequest$inboundSchema.parse(JSON.parse(x)), `Failed to parse 'CreateUserOrgRequest' from JSON`);
}
/** @internal */
export const CreateUserRoleRequest$inboundSchema = z.object({
    roleType: CreateUserRoleTypeRequest$inboundSchema,
    role: CreateUserRoleRequestEnum$inboundSchema,
    org: z.lazy(() => CreateUserOrgRequest$inboundSchema),
    userProfile: z.string().optional(),
    beginDate: z.string().optional(),
    endDate: z.string().optional(),
});
/** @internal */
export const CreateUserRoleRequest$outboundSchema = z.object({
    roleType: CreateUserRoleTypeRequest$outboundSchema,
    role: CreateUserRoleRequestEnum$outboundSchema,
    org: z.lazy(() => CreateUserOrgRequest$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 CreateUserRoleRequest$;
(function (CreateUserRoleRequest$) {
    /** @deprecated use `CreateUserRoleRequest$inboundSchema` instead. */
    CreateUserRoleRequest$.inboundSchema = CreateUserRoleRequest$inboundSchema;
    /** @deprecated use `CreateUserRoleRequest$outboundSchema` instead. */
    CreateUserRoleRequest$.outboundSchema = CreateUserRoleRequest$outboundSchema;
})(CreateUserRoleRequest$ || (CreateUserRoleRequest$ = {}));
export function createUserRoleRequestToJSON(createUserRoleRequest) {
    return JSON.stringify(CreateUserRoleRequest$outboundSchema.parse(createUserRoleRequest));
}
export function createUserRoleRequestFromJSON(jsonString) {
    return safeParse(jsonString, (x) => CreateUserRoleRequest$inboundSchema.parse(JSON.parse(x)), `Failed to parse 'CreateUserRoleRequest' from JSON`);
}
/** @internal */
export const CreateUserPrimaryOrgRequest$inboundSchema = z.object({
    sourcedId: z.string(),
});
/** @internal */
export const CreateUserPrimaryOrgRequest$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 CreateUserPrimaryOrgRequest$;
(function (CreateUserPrimaryOrgRequest$) {
    /** @deprecated use `CreateUserPrimaryOrgRequest$inboundSchema` instead. */
    CreateUserPrimaryOrgRequest$.inboundSchema = CreateUserPrimaryOrgRequest$inboundSchema;
    /** @deprecated use `CreateUserPrimaryOrgRequest$outboundSchema` instead. */
    CreateUserPrimaryOrgRequest$.outboundSchema = CreateUserPrimaryOrgRequest$outboundSchema;
})(CreateUserPrimaryOrgRequest$ || (CreateUserPrimaryOrgRequest$ = {}));
export function createUserPrimaryOrgRequestToJSON(createUserPrimaryOrgRequest) {
    return JSON.stringify(CreateUserPrimaryOrgRequest$outboundSchema.parse(createUserPrimaryOrgRequest));
}
export function createUserPrimaryOrgRequestFromJSON(jsonString) {
    return safeParse(jsonString, (x) => CreateUserPrimaryOrgRequest$inboundSchema.parse(JSON.parse(x)), `Failed to parse 'CreateUserPrimaryOrgRequest' from JSON`);
}
/** @internal */
export const CreateUserAgentRequest$inboundSchema = z.object({
    sourcedId: z.string(),
});
/** @internal */
export const CreateUserAgentRequest$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 CreateUserAgentRequest$;
(function (CreateUserAgentRequest$) {
    /** @deprecated use `CreateUserAgentRequest$inboundSchema` instead. */
    CreateUserAgentRequest$.inboundSchema = CreateUserAgentRequest$inboundSchema;
    /** @deprecated use `CreateUserAgentRequest$outboundSchema` instead. */
    CreateUserAgentRequest$.outboundSchema = CreateUserAgentRequest$outboundSchema;
})(CreateUserAgentRequest$ || (CreateUserAgentRequest$ = {}));
export function createUserAgentRequestToJSON(createUserAgentRequest) {
    return JSON.stringify(CreateUserAgentRequest$outboundSchema.parse(createUserAgentRequest));
}
export function createUserAgentRequestFromJSON(jsonString) {
    return safeParse(jsonString, (x) => CreateUserAgentRequest$inboundSchema.parse(JSON.parse(x)), `Failed to parse 'CreateUserAgentRequest' from JSON`);
}
/** @internal */
export const CreateUserUserRequest$inboundSchema = z.object({
    sourcedId: z.string().optional(),
    metadata: z.record(z.any()).optional(),
    status: CreateUserStatusRequest$inboundSchema.default("active"),
    userMasterIdentifier: z.nullable(z.string()).optional(),
    username: z.nullable(z.string()).optional(),
    userIds: z.array(z.lazy(() => CreateUserUserIdRequest$inboundSchema))
        .optional(),
    enabledUser: z.boolean(),
    givenName: z.string(),
    familyName: z.string(),
    middleName: z.nullable(z.string()).optional(),
    roles: z.array(z.lazy(() => CreateUserRoleRequest$inboundSchema)),
    primaryOrg: z.lazy(() => CreateUserPrimaryOrgRequest$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(() => CreateUserAgentRequest$inboundSchema))
        .optional(),
});
/** @internal */
export const CreateUserUserRequest$outboundSchema = z.object({
    sourcedId: z.string().optional(),
    metadata: z.record(z.any()).optional(),
    status: CreateUserStatusRequest$outboundSchema.default("active"),
    userMasterIdentifier: z.nullable(z.string()).optional(),
    username: z.nullable(z.string()).optional(),
    userIds: z.array(z.lazy(() => CreateUserUserIdRequest$outboundSchema))
        .optional(),
    enabledUser: z.boolean(),
    givenName: z.string(),
    familyName: z.string(),
    middleName: z.nullable(z.string()).optional(),
    roles: z.array(z.lazy(() => CreateUserRoleRequest$outboundSchema)),
    primaryOrg: z.lazy(() => CreateUserPrimaryOrgRequest$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(() => CreateUserAgentRequest$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 CreateUserUserRequest$;
(function (CreateUserUserRequest$) {
    /** @deprecated use `CreateUserUserRequest$inboundSchema` instead. */
    CreateUserUserRequest$.inboundSchema = CreateUserUserRequest$inboundSchema;
    /** @deprecated use `CreateUserUserRequest$outboundSchema` instead. */
    CreateUserUserRequest$.outboundSchema = CreateUserUserRequest$outboundSchema;
})(CreateUserUserRequest$ || (CreateUserUserRequest$ = {}));
export function createUserUserRequestToJSON(createUserUserRequest) {
    return JSON.stringify(CreateUserUserRequest$outboundSchema.parse(createUserUserRequest));
}
export function createUserUserRequestFromJSON(jsonString) {
    return safeParse(jsonString, (x) => CreateUserUserRequest$inboundSchema.parse(JSON.parse(x)), `Failed to parse 'CreateUserUserRequest' from JSON`);
}
/** @internal */
export const CreateUserRequest$inboundSchema = z.object({
    user: z.lazy(() => CreateUserUserRequest$inboundSchema),
});
/** @internal */
export const CreateUserRequest$outboundSchema = z.object({
    user: z.lazy(() => CreateUserUserRequest$outboundSchema),
});
/**
 * @internal
 * @deprecated This namespace will be removed in future versions. Use schemas and types that are exported directly from this module.
 */
export var CreateUserRequest$;
(function (CreateUserRequest$) {
    /** @deprecated use `CreateUserRequest$inboundSchema` instead. */
    CreateUserRequest$.inboundSchema = CreateUserRequest$inboundSchema;
    /** @deprecated use `CreateUserRequest$outboundSchema` instead. */
    CreateUserRequest$.outboundSchema = CreateUserRequest$outboundSchema;
})(CreateUserRequest$ || (CreateUserRequest$ = {}));
export function createUserRequestToJSON(createUserRequest) {
    return JSON.stringify(CreateUserRequest$outboundSchema.parse(createUserRequest));
}
export function createUserRequestFromJSON(jsonString) {
    return safeParse(jsonString, (x) => CreateUserRequest$inboundSchema.parse(JSON.parse(x)), `Failed to parse 'CreateUserRequest' from JSON`);
}
/** @internal */
export const CreateUserStatusResponse$inboundSchema = z.nativeEnum(CreateUserStatusResponse);
/** @internal */
export const CreateUserStatusResponse$outboundSchema = CreateUserStatusResponse$inboundSchema;
/**
 * @internal
 * @deprecated This namespace will be removed in future versions. Use schemas and types that are exported directly from this module.
 */
export var CreateUserStatusResponse$;
(function (CreateUserStatusResponse$) {
    /** @deprecated use `CreateUserStatusResponse$inboundSchema` instead. */
    CreateUserStatusResponse$.inboundSchema = CreateUserStatusResponse$inboundSchema;
    /** @deprecated use `CreateUserStatusResponse$outboundSchema` instead. */
    CreateUserStatusResponse$.outboundSchema = CreateUserStatusResponse$outboundSchema;
})(CreateUserStatusResponse$ || (CreateUserStatusResponse$ = {}));
/** @internal */
export const CreateUserUserIdResponse$inboundSchema = z.object({
    type: z.string(),
    identifier: z.string(),
});
/** @internal */
export const CreateUserUserIdResponse$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 CreateUserUserIdResponse$;
(function (CreateUserUserIdResponse$) {
    /** @deprecated use `CreateUserUserIdResponse$inboundSchema` instead. */
    CreateUserUserIdResponse$.inboundSchema = CreateUserUserIdResponse$inboundSchema;
    /** @deprecated use `CreateUserUserIdResponse$outboundSchema` instead. */
    CreateUserUserIdResponse$.outboundSchema = CreateUserUserIdResponse$outboundSchema;
})(CreateUserUserIdResponse$ || (CreateUserUserIdResponse$ = {}));
export function createUserUserIdResponseToJSON(createUserUserIdResponse) {
    return JSON.stringify(CreateUserUserIdResponse$outboundSchema.parse(createUserUserIdResponse));
}
export function createUserUserIdResponseFromJSON(jsonString) {
    return safeParse(jsonString, (x) => CreateUserUserIdResponse$inboundSchema.parse(JSON.parse(x)), `Failed to parse 'CreateUserUserIdResponse' from JSON`);
}
/** @internal */
export const CreateUserRoleTypeResponse$inboundSchema = z.nativeEnum(CreateUserRoleTypeResponse);
/** @internal */
export const CreateUserRoleTypeResponse$outboundSchema = CreateUserRoleTypeResponse$inboundSchema;
/**
 * @internal
 * @deprecated This namespace will be removed in future versions. Use schemas and types that are exported directly from this module.
 */
export var CreateUserRoleTypeResponse$;
(function (CreateUserRoleTypeResponse$) {
    /** @deprecated use `CreateUserRoleTypeResponse$inboundSchema` instead. */
    CreateUserRoleTypeResponse$.inboundSchema = CreateUserRoleTypeResponse$inboundSchema;
    /** @deprecated use `CreateUserRoleTypeResponse$outboundSchema` instead. */
    CreateUserRoleTypeResponse$.outboundSchema = CreateUserRoleTypeResponse$outboundSchema;
})(CreateUserRoleTypeResponse$ || (CreateUserRoleTypeResponse$ = {}));
/** @internal */
export const CreateUserRoleResponseEnum$inboundSchema = z.nativeEnum(CreateUserRoleResponseEnum);
/** @internal */
export const CreateUserRoleResponseEnum$outboundSchema = CreateUserRoleResponseEnum$inboundSchema;
/**
 * @internal
 * @deprecated This namespace will be removed in future versions. Use schemas and types that are exported directly from this module.
 */
export var CreateUserRoleResponseEnum$;
(function (CreateUserRoleResponseEnum$) {
    /** @deprecated use `CreateUserRoleResponseEnum$inboundSchema` instead. */
    CreateUserRoleResponseEnum$.inboundSchema = CreateUserRoleResponseEnum$inboundSchema;
    /** @deprecated use `CreateUserRoleResponseEnum$outboundSchema` instead. */
    CreateUserRoleResponseEnum$.outboundSchema = CreateUserRoleResponseEnum$outboundSchema;
})(CreateUserRoleResponseEnum$ || (CreateUserRoleResponseEnum$ = {}));
/** @internal */
export const CreateUserOrgResponse$inboundSchema = z.object({
    href: z.string(),
    sourcedId: z.string(),
    type: z.string(),
});
/** @internal */
export const CreateUserOrgResponse$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 CreateUserOrgResponse$;
(function (CreateUserOrgResponse$) {
    /** @deprecated use `CreateUserOrgResponse$inboundSchema` instead. */
    CreateUserOrgResponse$.inboundSchema = CreateUserOrgResponse$inboundSchema;
    /** @deprecated use `CreateUserOrgResponse$outboundSchema` instead. */
    CreateUserOrgResponse$.outboundSchema = CreateUserOrgResponse$outboundSchema;
})(CreateUserOrgResponse$ || (CreateUserOrgResponse$ = {}));
export function createUserOrgResponseToJSON(createUserOrgResponse) {
    return JSON.stringify(CreateUserOrgResponse$outboundSchema.parse(createUserOrgResponse));
}
export function createUserOrgResponseFromJSON(jsonString) {
    return safeParse(jsonString, (x) => CreateUserOrgResponse$inboundSchema.parse(JSON.parse(x)), `Failed to parse 'CreateUserOrgResponse' from JSON`);
}
/** @internal */
export const CreateUserRoleResponse$inboundSchema = z.object({
    roleType: CreateUserRoleTypeResponse$inboundSchema,
    role: CreateUserRoleResponseEnum$inboundSchema,
    org: z.lazy(() => CreateUserOrgResponse$inboundSchema),
    userProfile: z.string().optional(),
    beginDate: z.nullable(z.string()),
    endDate: z.nullable(z.string()),
});
/** @internal */
export const CreateUserRoleResponse$outboundSchema = z.object({
    roleType: CreateUserRoleTypeResponse$outboundSchema,
    role: CreateUserRoleResponseEnum$outboundSchema,
    org: z.lazy(() => CreateUserOrgResponse$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 CreateUserRoleResponse$;
(function (CreateUserRoleResponse$) {
    /** @deprecated use `CreateUserRoleResponse$inboundSchema` instead. */
    CreateUserRoleResponse$.inboundSchema = CreateUserRoleResponse$inboundSchema;
    /** @deprecated use `CreateUserRoleResponse$outboundSchema` instead. */
    CreateUserRoleResponse$.outboundSchema = CreateUserRoleResponse$outboundSchema;
})(CreateUserRoleResponse$ || (CreateUserRoleResponse$ = {}));
export function createUserRoleResponseToJSON(createUserRoleResponse) {
    return JSON.stringify(CreateUserRoleResponse$outboundSchema.parse(createUserRoleResponse));
}
export function createUserRoleResponseFromJSON(jsonString) {
    return safeParse(jsonString, (x) => CreateUserRoleResponse$inboundSchema.parse(JSON.parse(x)), `Failed to parse 'CreateUserRoleResponse' from JSON`);
}
/** @internal */
export const CreateUserType$inboundSchema = z.nativeEnum(CreateUserType);
/** @internal */
export const CreateUserType$outboundSchema = CreateUserType$inboundSchema;
/**
 * @internal
 * @deprecated This namespace will be removed in future versions. Use schemas and types that are exported directly from this module.
 */
export var CreateUserType$;
(function (CreateUserType$) {
    /** @deprecated use `CreateUserType$inboundSchema` instead. */
    CreateUserType$.inboundSchema = CreateUserType$inboundSchema;
    /** @deprecated use `CreateUserType$outboundSchema` instead. */
    CreateUserType$.outboundSchema = CreateUserType$outboundSchema;
})(CreateUserType$ || (CreateUserType$ = {}));
/** @internal */
export const CreateUserAgentResponse$inboundSchema = z.object({
    href: z.string(),
    sourcedId: z.string(),
    type: CreateUserType$inboundSchema,
});
/** @internal */
export const CreateUserAgentResponse$outboundSchema = z.object({
    href: z.string(),
    sourcedId: z.string(),
    type: CreateUserType$outboundSchema,
});
/**
 * @internal
 * @deprecated This namespace will be removed in future versions. Use schemas and types that are exported directly from this module.
 */
export var CreateUserAgentResponse$;
(function (CreateUserAgentResponse$) {
    /** @deprecated use `CreateUserAgentResponse$inboundSchema` instead. */
    CreateUserAgentResponse$.inboundSchema = CreateUserAgentResponse$inboundSchema;
    /** @deprecated use `CreateUserAgentResponse$outboundSchema` instead. */
    CreateUserAgentResponse$.outboundSchema = CreateUserAgentResponse$outboundSchema;
})(CreateUserAgentResponse$ || (CreateUserAgentResponse$ = {}));
export function createUserAgentResponseToJSON(createUserAgentResponse) {
    return JSON.stringify(CreateUserAgentResponse$outboundSchema.parse(createUserAgentResponse));
}
export function createUserAgentResponseFromJSON(jsonString) {
    return safeParse(jsonString, (x) => CreateUserAgentResponse$inboundSchema.parse(JSON.parse(x)), `Failed to parse 'CreateUserAgentResponse' from JSON`);
}
/** @internal */
export const CreateUserPrimaryOrgResponse$inboundSchema = z.object({
    href: z.string(),
    sourcedId: z.string(),
    type: z.string(),
});
/** @internal */
export const CreateUserPrimaryOrgResponse$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 CreateUserPrimaryOrgResponse$;
(function (CreateUserPrimaryOrgResponse$) {
    /** @deprecated use `CreateUserPrimaryOrgResponse$inboundSchema` instead. */
    CreateUserPrimaryOrgResponse$.inboundSchema = CreateUserPrimaryOrgResponse$inboundSchema;
    /** @deprecated use `CreateUserPrimaryOrgResponse$outboundSchema` instead. */
    CreateUserPrimaryOrgResponse$.outboundSchema = CreateUserPrimaryOrgResponse$outboundSchema;
})(CreateUserPrimaryOrgResponse$ || (CreateUserPrimaryOrgResponse$ = {}));
export function createUserPrimaryOrgResponseToJSON(createUserPrimaryOrgResponse) {
    return JSON.stringify(CreateUserPrimaryOrgResponse$outboundSchema.parse(createUserPrimaryOrgResponse));
}
export function createUserPrimaryOrgResponseFromJSON(jsonString) {
    return safeParse(jsonString, (x) => CreateUserPrimaryOrgResponse$inboundSchema.parse(JSON.parse(x)), `Failed to parse 'CreateUserPrimaryOrgResponse' from JSON`);
}
/** @internal */
export const CreateUserUserResponse$inboundSchema = z.object({
    sourcedId: z.string(),
    status: CreateUserStatusResponse$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(() => CreateUserUserIdResponse$inboundSchema))
        .optional(),
    enabledUser: z.boolean(),
    givenName: z.string(),
    familyName: z.string(),
    middleName: z.nullable(z.string()).optional(),
    roles: z.array(z.lazy(() => CreateUserRoleResponse$inboundSchema)),
    agents: z.array(z.lazy(() => CreateUserAgentResponse$inboundSchema)),
    primaryOrg: z.lazy(() => CreateUserPrimaryOrgResponse$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 CreateUserUserResponse$outboundSchema = z.object({
    sourcedId: z.string(),
    status: CreateUserStatusResponse$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(() => CreateUserUserIdResponse$outboundSchema))
        .optional(),
    enabledUser: z.boolean(),
    givenName: z.string(),
    familyName: z.string(),
    middleName: z.nullable(z.string()).optional(),
    roles: z.array(z.lazy(() => CreateUserRoleResponse$outboundSchema)),
    agents: z.array(z.lazy(() => CreateUserAgentResponse$outboundSchema)),
    primaryOrg: z.lazy(() => CreateUserPrimaryOrgResponse$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 CreateUserUserResponse$;
(function (CreateUserUserResponse$) {
    /** @deprecated use `CreateUserUserResponse$inboundSchema` instead. */
    CreateUserUserResponse$.inboundSchema = CreateUserUserResponse$inboundSchema;
    /** @deprecated use `CreateUserUserResponse$outboundSchema` instead. */
    CreateUserUserResponse$.outboundSchema = CreateUserUserResponse$outboundSchema;
})(CreateUserUserResponse$ || (CreateUserUserResponse$ = {}));
export function createUserUserResponseToJSON(createUserUserResponse) {
    return JSON.stringify(CreateUserUserResponse$outboundSchema.parse(createUserUserResponse));
}
export function createUserUserResponseFromJSON(jsonString) {
    return safeParse(jsonString, (x) => CreateUserUserResponse$inboundSchema.parse(JSON.parse(x)), `Failed to parse 'CreateUserUserResponse' from JSON`);
}
/** @internal */
export const CreateUserResponse$inboundSchema = z.object({
    user: z.lazy(() => CreateUserUserResponse$inboundSchema),
});
/** @internal */
export const CreateUserResponse$outboundSchema = z.object({
    user: z.lazy(() => CreateUserUserResponse$outboundSchema),
});
/**
 * @internal
 * @deprecated This namespace will be removed in future versions. Use schemas and types that are exported directly from this module.
 */
export var CreateUserResponse$;
(function (CreateUserResponse$) {
    /** @deprecated use `CreateUserResponse$inboundSchema` instead. */
    CreateUserResponse$.inboundSchema = CreateUserResponse$inboundSchema;
    /** @deprecated use `CreateUserResponse$outboundSchema` instead. */
    CreateUserResponse$.outboundSchema = CreateUserResponse$outboundSchema;
})(CreateUserResponse$ || (CreateUserResponse$ = {}));
export function createUserResponseToJSON(createUserResponse) {
    return JSON.stringify(CreateUserResponse$outboundSchema.parse(createUserResponse));
}
export function createUserResponseFromJSON(jsonString) {
    return safeParse(jsonString, (x) => CreateUserResponse$inboundSchema.parse(JSON.parse(x)), `Failed to parse 'CreateUserResponse' from JSON`);
}
//# sourceMappingURL=createuser.js.map