"use strict";
/*
 * Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT.
 */
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
    if (k2 === undefined) k2 = k;
    var desc = Object.getOwnPropertyDescriptor(m, k);
    if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
      desc = { enumerable: true, get: function() { return m[k]; } };
    }
    Object.defineProperty(o, k2, desc);
}) : (function(o, m, k, k2) {
    if (k2 === undefined) k2 = k;
    o[k2] = m[k];
}));
var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
    Object.defineProperty(o, "default", { enumerable: true, value: v });
}) : function(o, v) {
    o["default"] = v;
});
var __importStar = (this && this.__importStar) || (function () {
    var ownKeys = function(o) {
        ownKeys = Object.getOwnPropertyNames || function (o) {
            var ar = [];
            for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
            return ar;
        };
        return ownKeys(o);
    };
    return function (mod) {
        if (mod && mod.__esModule) return mod;
        var result = {};
        if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
        __setModuleDefault(result, mod);
        return result;
    };
})();
Object.defineProperty(exports, "__esModule", { value: true });
exports.GetTeacherResponse$ = exports.GetTeacherResponse$outboundSchema = exports.GetTeacherResponse$inboundSchema = exports.GetTeacherUser$ = exports.GetTeacherUser$outboundSchema = exports.GetTeacherUser$inboundSchema = exports.GetTeacherPrimaryOrg$ = exports.GetTeacherPrimaryOrg$outboundSchema = exports.GetTeacherPrimaryOrg$inboundSchema = exports.GetTeacherAgent$ = exports.GetTeacherAgent$outboundSchema = exports.GetTeacherAgent$inboundSchema = exports.GetTeacherType$ = exports.GetTeacherType$outboundSchema = exports.GetTeacherType$inboundSchema = exports.GetTeacherRole$ = exports.GetTeacherRole$outboundSchema = exports.GetTeacherRole$inboundSchema = exports.GetTeacherOrg$ = exports.GetTeacherOrg$outboundSchema = exports.GetTeacherOrg$inboundSchema = exports.GetTeacherRoleEnum$ = exports.GetTeacherRoleEnum$outboundSchema = exports.GetTeacherRoleEnum$inboundSchema = exports.GetTeacherRoleType$ = exports.GetTeacherRoleType$outboundSchema = exports.GetTeacherRoleType$inboundSchema = exports.GetTeacherUserId$ = exports.GetTeacherUserId$outboundSchema = exports.GetTeacherUserId$inboundSchema = exports.GetTeacherStatus$ = exports.GetTeacherStatus$outboundSchema = exports.GetTeacherStatus$inboundSchema = exports.GetTeacherRequest$ = exports.GetTeacherRequest$outboundSchema = exports.GetTeacherRequest$inboundSchema = exports.GetTeacherType = exports.GetTeacherRoleEnum = exports.GetTeacherRoleType = exports.GetTeacherStatus = void 0;
exports.getTeacherRequestToJSON = getTeacherRequestToJSON;
exports.getTeacherRequestFromJSON = getTeacherRequestFromJSON;
exports.getTeacherUserIdToJSON = getTeacherUserIdToJSON;
exports.getTeacherUserIdFromJSON = getTeacherUserIdFromJSON;
exports.getTeacherOrgToJSON = getTeacherOrgToJSON;
exports.getTeacherOrgFromJSON = getTeacherOrgFromJSON;
exports.getTeacherRoleToJSON = getTeacherRoleToJSON;
exports.getTeacherRoleFromJSON = getTeacherRoleFromJSON;
exports.getTeacherAgentToJSON = getTeacherAgentToJSON;
exports.getTeacherAgentFromJSON = getTeacherAgentFromJSON;
exports.getTeacherPrimaryOrgToJSON = getTeacherPrimaryOrgToJSON;
exports.getTeacherPrimaryOrgFromJSON = getTeacherPrimaryOrgFromJSON;
exports.getTeacherUserToJSON = getTeacherUserToJSON;
exports.getTeacherUserFromJSON = getTeacherUserFromJSON;
exports.getTeacherResponseToJSON = getTeacherResponseToJSON;
exports.getTeacherResponseFromJSON = getTeacherResponseFromJSON;
const z = __importStar(require("zod"));
const schemas_js_1 = require("../../lib/schemas.js");
exports.GetTeacherStatus = {
    Active: "active",
    Tobedeleted: "tobedeleted",
};
exports.GetTeacherRoleType = {
    Primary: "primary",
    Secondary: "secondary",
};
exports.GetTeacherRoleEnum = {
    Administrator: "administrator",
    Aide: "aide",
    Guardian: "guardian",
    Parent: "parent",
    Proctor: "proctor",
    Relative: "relative",
    Student: "student",
    Teacher: "teacher",
};
exports.GetTeacherType = {
    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 */
exports.GetTeacherRequest$inboundSchema = z.object({
    sourcedId: z.string(),
});
/** @internal */
exports.GetTeacherRequest$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.
 */
var GetTeacherRequest$;
(function (GetTeacherRequest$) {
    /** @deprecated use `GetTeacherRequest$inboundSchema` instead. */
    GetTeacherRequest$.inboundSchema = exports.GetTeacherRequest$inboundSchema;
    /** @deprecated use `GetTeacherRequest$outboundSchema` instead. */
    GetTeacherRequest$.outboundSchema = exports.GetTeacherRequest$outboundSchema;
})(GetTeacherRequest$ || (exports.GetTeacherRequest$ = GetTeacherRequest$ = {}));
function getTeacherRequestToJSON(getTeacherRequest) {
    return JSON.stringify(exports.GetTeacherRequest$outboundSchema.parse(getTeacherRequest));
}
function getTeacherRequestFromJSON(jsonString) {
    return (0, schemas_js_1.safeParse)(jsonString, (x) => exports.GetTeacherRequest$inboundSchema.parse(JSON.parse(x)), `Failed to parse 'GetTeacherRequest' from JSON`);
}
/** @internal */
exports.GetTeacherStatus$inboundSchema = z.nativeEnum(exports.GetTeacherStatus);
/** @internal */
exports.GetTeacherStatus$outboundSchema = exports.GetTeacherStatus$inboundSchema;
/**
 * @internal
 * @deprecated This namespace will be removed in future versions. Use schemas and types that are exported directly from this module.
 */
var GetTeacherStatus$;
(function (GetTeacherStatus$) {
    /** @deprecated use `GetTeacherStatus$inboundSchema` instead. */
    GetTeacherStatus$.inboundSchema = exports.GetTeacherStatus$inboundSchema;
    /** @deprecated use `GetTeacherStatus$outboundSchema` instead. */
    GetTeacherStatus$.outboundSchema = exports.GetTeacherStatus$outboundSchema;
})(GetTeacherStatus$ || (exports.GetTeacherStatus$ = GetTeacherStatus$ = {}));
/** @internal */
exports.GetTeacherUserId$inboundSchema = z.object({
    type: z.string(),
    identifier: z.string(),
});
/** @internal */
exports.GetTeacherUserId$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.
 */
var GetTeacherUserId$;
(function (GetTeacherUserId$) {
    /** @deprecated use `GetTeacherUserId$inboundSchema` instead. */
    GetTeacherUserId$.inboundSchema = exports.GetTeacherUserId$inboundSchema;
    /** @deprecated use `GetTeacherUserId$outboundSchema` instead. */
    GetTeacherUserId$.outboundSchema = exports.GetTeacherUserId$outboundSchema;
})(GetTeacherUserId$ || (exports.GetTeacherUserId$ = GetTeacherUserId$ = {}));
function getTeacherUserIdToJSON(getTeacherUserId) {
    return JSON.stringify(exports.GetTeacherUserId$outboundSchema.parse(getTeacherUserId));
}
function getTeacherUserIdFromJSON(jsonString) {
    return (0, schemas_js_1.safeParse)(jsonString, (x) => exports.GetTeacherUserId$inboundSchema.parse(JSON.parse(x)), `Failed to parse 'GetTeacherUserId' from JSON`);
}
/** @internal */
exports.GetTeacherRoleType$inboundSchema = z.nativeEnum(exports.GetTeacherRoleType);
/** @internal */
exports.GetTeacherRoleType$outboundSchema = exports.GetTeacherRoleType$inboundSchema;
/**
 * @internal
 * @deprecated This namespace will be removed in future versions. Use schemas and types that are exported directly from this module.
 */
var GetTeacherRoleType$;
(function (GetTeacherRoleType$) {
    /** @deprecated use `GetTeacherRoleType$inboundSchema` instead. */
    GetTeacherRoleType$.inboundSchema = exports.GetTeacherRoleType$inboundSchema;
    /** @deprecated use `GetTeacherRoleType$outboundSchema` instead. */
    GetTeacherRoleType$.outboundSchema = exports.GetTeacherRoleType$outboundSchema;
})(GetTeacherRoleType$ || (exports.GetTeacherRoleType$ = GetTeacherRoleType$ = {}));
/** @internal */
exports.GetTeacherRoleEnum$inboundSchema = z.nativeEnum(exports.GetTeacherRoleEnum);
/** @internal */
exports.GetTeacherRoleEnum$outboundSchema = exports.GetTeacherRoleEnum$inboundSchema;
/**
 * @internal
 * @deprecated This namespace will be removed in future versions. Use schemas and types that are exported directly from this module.
 */
var GetTeacherRoleEnum$;
(function (GetTeacherRoleEnum$) {
    /** @deprecated use `GetTeacherRoleEnum$inboundSchema` instead. */
    GetTeacherRoleEnum$.inboundSchema = exports.GetTeacherRoleEnum$inboundSchema;
    /** @deprecated use `GetTeacherRoleEnum$outboundSchema` instead. */
    GetTeacherRoleEnum$.outboundSchema = exports.GetTeacherRoleEnum$outboundSchema;
})(GetTeacherRoleEnum$ || (exports.GetTeacherRoleEnum$ = GetTeacherRoleEnum$ = {}));
/** @internal */
exports.GetTeacherOrg$inboundSchema = z.object({
    href: z.string(),
    sourcedId: z.string(),
    type: z.string(),
});
/** @internal */
exports.GetTeacherOrg$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.
 */
var GetTeacherOrg$;
(function (GetTeacherOrg$) {
    /** @deprecated use `GetTeacherOrg$inboundSchema` instead. */
    GetTeacherOrg$.inboundSchema = exports.GetTeacherOrg$inboundSchema;
    /** @deprecated use `GetTeacherOrg$outboundSchema` instead. */
    GetTeacherOrg$.outboundSchema = exports.GetTeacherOrg$outboundSchema;
})(GetTeacherOrg$ || (exports.GetTeacherOrg$ = GetTeacherOrg$ = {}));
function getTeacherOrgToJSON(getTeacherOrg) {
    return JSON.stringify(exports.GetTeacherOrg$outboundSchema.parse(getTeacherOrg));
}
function getTeacherOrgFromJSON(jsonString) {
    return (0, schemas_js_1.safeParse)(jsonString, (x) => exports.GetTeacherOrg$inboundSchema.parse(JSON.parse(x)), `Failed to parse 'GetTeacherOrg' from JSON`);
}
/** @internal */
exports.GetTeacherRole$inboundSchema = z.object({
    roleType: exports.GetTeacherRoleType$inboundSchema,
    role: exports.GetTeacherRoleEnum$inboundSchema,
    org: z.lazy(() => exports.GetTeacherOrg$inboundSchema),
    userProfile: z.string().optional(),
    beginDate: z.nullable(z.string()),
    endDate: z.nullable(z.string()),
});
/** @internal */
exports.GetTeacherRole$outboundSchema = z.object({
    roleType: exports.GetTeacherRoleType$outboundSchema,
    role: exports.GetTeacherRoleEnum$outboundSchema,
    org: z.lazy(() => exports.GetTeacherOrg$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.
 */
var GetTeacherRole$;
(function (GetTeacherRole$) {
    /** @deprecated use `GetTeacherRole$inboundSchema` instead. */
    GetTeacherRole$.inboundSchema = exports.GetTeacherRole$inboundSchema;
    /** @deprecated use `GetTeacherRole$outboundSchema` instead. */
    GetTeacherRole$.outboundSchema = exports.GetTeacherRole$outboundSchema;
})(GetTeacherRole$ || (exports.GetTeacherRole$ = GetTeacherRole$ = {}));
function getTeacherRoleToJSON(getTeacherRole) {
    return JSON.stringify(exports.GetTeacherRole$outboundSchema.parse(getTeacherRole));
}
function getTeacherRoleFromJSON(jsonString) {
    return (0, schemas_js_1.safeParse)(jsonString, (x) => exports.GetTeacherRole$inboundSchema.parse(JSON.parse(x)), `Failed to parse 'GetTeacherRole' from JSON`);
}
/** @internal */
exports.GetTeacherType$inboundSchema = z.nativeEnum(exports.GetTeacherType);
/** @internal */
exports.GetTeacherType$outboundSchema = exports.GetTeacherType$inboundSchema;
/**
 * @internal
 * @deprecated This namespace will be removed in future versions. Use schemas and types that are exported directly from this module.
 */
var GetTeacherType$;
(function (GetTeacherType$) {
    /** @deprecated use `GetTeacherType$inboundSchema` instead. */
    GetTeacherType$.inboundSchema = exports.GetTeacherType$inboundSchema;
    /** @deprecated use `GetTeacherType$outboundSchema` instead. */
    GetTeacherType$.outboundSchema = exports.GetTeacherType$outboundSchema;
})(GetTeacherType$ || (exports.GetTeacherType$ = GetTeacherType$ = {}));
/** @internal */
exports.GetTeacherAgent$inboundSchema = z.object({
    href: z.string(),
    sourcedId: z.string(),
    type: exports.GetTeacherType$inboundSchema,
});
/** @internal */
exports.GetTeacherAgent$outboundSchema = z.object({
    href: z.string(),
    sourcedId: z.string(),
    type: exports.GetTeacherType$outboundSchema,
});
/**
 * @internal
 * @deprecated This namespace will be removed in future versions. Use schemas and types that are exported directly from this module.
 */
var GetTeacherAgent$;
(function (GetTeacherAgent$) {
    /** @deprecated use `GetTeacherAgent$inboundSchema` instead. */
    GetTeacherAgent$.inboundSchema = exports.GetTeacherAgent$inboundSchema;
    /** @deprecated use `GetTeacherAgent$outboundSchema` instead. */
    GetTeacherAgent$.outboundSchema = exports.GetTeacherAgent$outboundSchema;
})(GetTeacherAgent$ || (exports.GetTeacherAgent$ = GetTeacherAgent$ = {}));
function getTeacherAgentToJSON(getTeacherAgent) {
    return JSON.stringify(exports.GetTeacherAgent$outboundSchema.parse(getTeacherAgent));
}
function getTeacherAgentFromJSON(jsonString) {
    return (0, schemas_js_1.safeParse)(jsonString, (x) => exports.GetTeacherAgent$inboundSchema.parse(JSON.parse(x)), `Failed to parse 'GetTeacherAgent' from JSON`);
}
/** @internal */
exports.GetTeacherPrimaryOrg$inboundSchema = z.object({
    href: z.string(),
    sourcedId: z.string(),
    type: z.string(),
});
/** @internal */
exports.GetTeacherPrimaryOrg$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.
 */
var GetTeacherPrimaryOrg$;
(function (GetTeacherPrimaryOrg$) {
    /** @deprecated use `GetTeacherPrimaryOrg$inboundSchema` instead. */
    GetTeacherPrimaryOrg$.inboundSchema = exports.GetTeacherPrimaryOrg$inboundSchema;
    /** @deprecated use `GetTeacherPrimaryOrg$outboundSchema` instead. */
    GetTeacherPrimaryOrg$.outboundSchema = exports.GetTeacherPrimaryOrg$outboundSchema;
})(GetTeacherPrimaryOrg$ || (exports.GetTeacherPrimaryOrg$ = GetTeacherPrimaryOrg$ = {}));
function getTeacherPrimaryOrgToJSON(getTeacherPrimaryOrg) {
    return JSON.stringify(exports.GetTeacherPrimaryOrg$outboundSchema.parse(getTeacherPrimaryOrg));
}
function getTeacherPrimaryOrgFromJSON(jsonString) {
    return (0, schemas_js_1.safeParse)(jsonString, (x) => exports.GetTeacherPrimaryOrg$inboundSchema.parse(JSON.parse(x)), `Failed to parse 'GetTeacherPrimaryOrg' from JSON`);
}
/** @internal */
exports.GetTeacherUser$inboundSchema = z.object({
    sourcedId: z.string(),
    status: exports.GetTeacherStatus$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(() => exports.GetTeacherUserId$inboundSchema)).optional(),
    enabledUser: z.boolean(),
    givenName: z.string(),
    familyName: z.string(),
    middleName: z.nullable(z.string()).optional(),
    roles: z.array(z.lazy(() => exports.GetTeacherRole$inboundSchema)),
    agents: z.array(z.lazy(() => exports.GetTeacherAgent$inboundSchema)),
    primaryOrg: z.lazy(() => exports.GetTeacherPrimaryOrg$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 */
exports.GetTeacherUser$outboundSchema = z.object({
    sourcedId: z.string(),
    status: exports.GetTeacherStatus$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(() => exports.GetTeacherUserId$outboundSchema)).optional(),
    enabledUser: z.boolean(),
    givenName: z.string(),
    familyName: z.string(),
    middleName: z.nullable(z.string()).optional(),
    roles: z.array(z.lazy(() => exports.GetTeacherRole$outboundSchema)),
    agents: z.array(z.lazy(() => exports.GetTeacherAgent$outboundSchema)),
    primaryOrg: z.lazy(() => exports.GetTeacherPrimaryOrg$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.
 */
var GetTeacherUser$;
(function (GetTeacherUser$) {
    /** @deprecated use `GetTeacherUser$inboundSchema` instead. */
    GetTeacherUser$.inboundSchema = exports.GetTeacherUser$inboundSchema;
    /** @deprecated use `GetTeacherUser$outboundSchema` instead. */
    GetTeacherUser$.outboundSchema = exports.GetTeacherUser$outboundSchema;
})(GetTeacherUser$ || (exports.GetTeacherUser$ = GetTeacherUser$ = {}));
function getTeacherUserToJSON(getTeacherUser) {
    return JSON.stringify(exports.GetTeacherUser$outboundSchema.parse(getTeacherUser));
}
function getTeacherUserFromJSON(jsonString) {
    return (0, schemas_js_1.safeParse)(jsonString, (x) => exports.GetTeacherUser$inboundSchema.parse(JSON.parse(x)), `Failed to parse 'GetTeacherUser' from JSON`);
}
/** @internal */
exports.GetTeacherResponse$inboundSchema = z.object({
    user: z.lazy(() => exports.GetTeacherUser$inboundSchema),
});
/** @internal */
exports.GetTeacherResponse$outboundSchema = z.object({
    user: z.lazy(() => exports.GetTeacherUser$outboundSchema),
});
/**
 * @internal
 * @deprecated This namespace will be removed in future versions. Use schemas and types that are exported directly from this module.
 */
var GetTeacherResponse$;
(function (GetTeacherResponse$) {
    /** @deprecated use `GetTeacherResponse$inboundSchema` instead. */
    GetTeacherResponse$.inboundSchema = exports.GetTeacherResponse$inboundSchema;
    /** @deprecated use `GetTeacherResponse$outboundSchema` instead. */
    GetTeacherResponse$.outboundSchema = exports.GetTeacherResponse$outboundSchema;
})(GetTeacherResponse$ || (exports.GetTeacherResponse$ = GetTeacherResponse$ = {}));
function getTeacherResponseToJSON(getTeacherResponse) {
    return JSON.stringify(exports.GetTeacherResponse$outboundSchema.parse(getTeacherResponse));
}
function getTeacherResponseFromJSON(jsonString) {
    return (0, schemas_js_1.safeParse)(jsonString, (x) => exports.GetTeacherResponse$inboundSchema.parse(JSON.parse(x)), `Failed to parse 'GetTeacherResponse' from JSON`);
}
//# sourceMappingURL=getteacher.js.map