"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.PostAcademicSessionResponse$ = exports.PostAcademicSessionResponse$outboundSchema = exports.PostAcademicSessionResponse$inboundSchema = exports.PostAcademicSessionSourcedIdPairs$ = exports.PostAcademicSessionSourcedIdPairs$outboundSchema = exports.PostAcademicSessionSourcedIdPairs$inboundSchema = exports.PostAcademicSessionRequest$ = exports.PostAcademicSessionRequest$outboundSchema = exports.PostAcademicSessionRequest$inboundSchema = exports.PostAcademicSessionAcademicSession$ = exports.PostAcademicSessionAcademicSession$outboundSchema = exports.PostAcademicSessionAcademicSession$inboundSchema = exports.PostAcademicSessionOrg$ = exports.PostAcademicSessionOrg$outboundSchema = exports.PostAcademicSessionOrg$inboundSchema = exports.PostAcademicSessionParent$ = exports.PostAcademicSessionParent$outboundSchema = exports.PostAcademicSessionParent$inboundSchema = exports.PostAcademicSessionType$ = exports.PostAcademicSessionType$outboundSchema = exports.PostAcademicSessionType$inboundSchema = exports.PostAcademicSessionStatus$ = exports.PostAcademicSessionStatus$outboundSchema = exports.PostAcademicSessionStatus$inboundSchema = exports.PostAcademicSessionType = exports.PostAcademicSessionStatus = void 0;
exports.postAcademicSessionParentToJSON = postAcademicSessionParentToJSON;
exports.postAcademicSessionParentFromJSON = postAcademicSessionParentFromJSON;
exports.postAcademicSessionOrgToJSON = postAcademicSessionOrgToJSON;
exports.postAcademicSessionOrgFromJSON = postAcademicSessionOrgFromJSON;
exports.postAcademicSessionAcademicSessionToJSON = postAcademicSessionAcademicSessionToJSON;
exports.postAcademicSessionAcademicSessionFromJSON = postAcademicSessionAcademicSessionFromJSON;
exports.postAcademicSessionRequestToJSON = postAcademicSessionRequestToJSON;
exports.postAcademicSessionRequestFromJSON = postAcademicSessionRequestFromJSON;
exports.postAcademicSessionSourcedIdPairsToJSON = postAcademicSessionSourcedIdPairsToJSON;
exports.postAcademicSessionSourcedIdPairsFromJSON = postAcademicSessionSourcedIdPairsFromJSON;
exports.postAcademicSessionResponseToJSON = postAcademicSessionResponseToJSON;
exports.postAcademicSessionResponseFromJSON = postAcademicSessionResponseFromJSON;
const z = __importStar(require("zod"));
const schemas_js_1 = require("../../lib/schemas.js");
exports.PostAcademicSessionStatus = {
    Active: "active",
    Tobedeleted: "tobedeleted",
};
exports.PostAcademicSessionType = {
    GradingPeriod: "gradingPeriod",
    Semester: "semester",
    SchoolYear: "schoolYear",
    Term: "term",
};
/** @internal */
exports.PostAcademicSessionStatus$inboundSchema = z.nativeEnum(exports.PostAcademicSessionStatus);
/** @internal */
exports.PostAcademicSessionStatus$outboundSchema = exports.PostAcademicSessionStatus$inboundSchema;
/**
 * @internal
 * @deprecated This namespace will be removed in future versions. Use schemas and types that are exported directly from this module.
 */
var PostAcademicSessionStatus$;
(function (PostAcademicSessionStatus$) {
    /** @deprecated use `PostAcademicSessionStatus$inboundSchema` instead. */
    PostAcademicSessionStatus$.inboundSchema = exports.PostAcademicSessionStatus$inboundSchema;
    /** @deprecated use `PostAcademicSessionStatus$outboundSchema` instead. */
    PostAcademicSessionStatus$.outboundSchema = exports.PostAcademicSessionStatus$outboundSchema;
})(PostAcademicSessionStatus$ || (exports.PostAcademicSessionStatus$ = PostAcademicSessionStatus$ = {}));
/** @internal */
exports.PostAcademicSessionType$inboundSchema = z.nativeEnum(exports.PostAcademicSessionType);
/** @internal */
exports.PostAcademicSessionType$outboundSchema = exports.PostAcademicSessionType$inboundSchema;
/**
 * @internal
 * @deprecated This namespace will be removed in future versions. Use schemas and types that are exported directly from this module.
 */
var PostAcademicSessionType$;
(function (PostAcademicSessionType$) {
    /** @deprecated use `PostAcademicSessionType$inboundSchema` instead. */
    PostAcademicSessionType$.inboundSchema = exports.PostAcademicSessionType$inboundSchema;
    /** @deprecated use `PostAcademicSessionType$outboundSchema` instead. */
    PostAcademicSessionType$.outboundSchema = exports.PostAcademicSessionType$outboundSchema;
})(PostAcademicSessionType$ || (exports.PostAcademicSessionType$ = PostAcademicSessionType$ = {}));
/** @internal */
exports.PostAcademicSessionParent$inboundSchema = z.object({
    sourcedId: z.string(),
});
/** @internal */
exports.PostAcademicSessionParent$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 PostAcademicSessionParent$;
(function (PostAcademicSessionParent$) {
    /** @deprecated use `PostAcademicSessionParent$inboundSchema` instead. */
    PostAcademicSessionParent$.inboundSchema = exports.PostAcademicSessionParent$inboundSchema;
    /** @deprecated use `PostAcademicSessionParent$outboundSchema` instead. */
    PostAcademicSessionParent$.outboundSchema = exports.PostAcademicSessionParent$outboundSchema;
})(PostAcademicSessionParent$ || (exports.PostAcademicSessionParent$ = PostAcademicSessionParent$ = {}));
function postAcademicSessionParentToJSON(postAcademicSessionParent) {
    return JSON.stringify(exports.PostAcademicSessionParent$outboundSchema.parse(postAcademicSessionParent));
}
function postAcademicSessionParentFromJSON(jsonString) {
    return (0, schemas_js_1.safeParse)(jsonString, (x) => exports.PostAcademicSessionParent$inboundSchema.parse(JSON.parse(x)), `Failed to parse 'PostAcademicSessionParent' from JSON`);
}
/** @internal */
exports.PostAcademicSessionOrg$inboundSchema = z.object({
    sourcedId: z.string(),
});
/** @internal */
exports.PostAcademicSessionOrg$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 PostAcademicSessionOrg$;
(function (PostAcademicSessionOrg$) {
    /** @deprecated use `PostAcademicSessionOrg$inboundSchema` instead. */
    PostAcademicSessionOrg$.inboundSchema = exports.PostAcademicSessionOrg$inboundSchema;
    /** @deprecated use `PostAcademicSessionOrg$outboundSchema` instead. */
    PostAcademicSessionOrg$.outboundSchema = exports.PostAcademicSessionOrg$outboundSchema;
})(PostAcademicSessionOrg$ || (exports.PostAcademicSessionOrg$ = PostAcademicSessionOrg$ = {}));
function postAcademicSessionOrgToJSON(postAcademicSessionOrg) {
    return JSON.stringify(exports.PostAcademicSessionOrg$outboundSchema.parse(postAcademicSessionOrg));
}
function postAcademicSessionOrgFromJSON(jsonString) {
    return (0, schemas_js_1.safeParse)(jsonString, (x) => exports.PostAcademicSessionOrg$inboundSchema.parse(JSON.parse(x)), `Failed to parse 'PostAcademicSessionOrg' from JSON`);
}
/** @internal */
exports.PostAcademicSessionAcademicSession$inboundSchema = z.object({
    sourcedId: z.string().optional(),
    status: exports.PostAcademicSessionStatus$inboundSchema.default("active"),
    metadata: z.record(z.any()).optional(),
    title: z.string(),
    startDate: z.string(),
    endDate: z.string(),
    type: exports.PostAcademicSessionType$inboundSchema,
    parent: z.nullable(z.lazy(() => exports.PostAcademicSessionParent$inboundSchema))
        .optional(),
    schoolYear: z.string(),
    org: z.lazy(() => exports.PostAcademicSessionOrg$inboundSchema),
});
/** @internal */
exports.PostAcademicSessionAcademicSession$outboundSchema = z.object({
    sourcedId: z.string().optional(),
    status: exports.PostAcademicSessionStatus$outboundSchema.default("active"),
    metadata: z.record(z.any()).optional(),
    title: z.string(),
    startDate: z.string(),
    endDate: z.string(),
    type: exports.PostAcademicSessionType$outboundSchema,
    parent: z.nullable(z.lazy(() => exports.PostAcademicSessionParent$outboundSchema))
        .optional(),
    schoolYear: z.string(),
    org: z.lazy(() => exports.PostAcademicSessionOrg$outboundSchema),
});
/**
 * @internal
 * @deprecated This namespace will be removed in future versions. Use schemas and types that are exported directly from this module.
 */
var PostAcademicSessionAcademicSession$;
(function (PostAcademicSessionAcademicSession$) {
    /** @deprecated use `PostAcademicSessionAcademicSession$inboundSchema` instead. */
    PostAcademicSessionAcademicSession$.inboundSchema = exports.PostAcademicSessionAcademicSession$inboundSchema;
    /** @deprecated use `PostAcademicSessionAcademicSession$outboundSchema` instead. */
    PostAcademicSessionAcademicSession$.outboundSchema = exports.PostAcademicSessionAcademicSession$outboundSchema;
})(PostAcademicSessionAcademicSession$ || (exports.PostAcademicSessionAcademicSession$ = PostAcademicSessionAcademicSession$ = {}));
function postAcademicSessionAcademicSessionToJSON(postAcademicSessionAcademicSession) {
    return JSON.stringify(exports.PostAcademicSessionAcademicSession$outboundSchema.parse(postAcademicSessionAcademicSession));
}
function postAcademicSessionAcademicSessionFromJSON(jsonString) {
    return (0, schemas_js_1.safeParse)(jsonString, (x) => exports.PostAcademicSessionAcademicSession$inboundSchema.parse(JSON.parse(x)), `Failed to parse 'PostAcademicSessionAcademicSession' from JSON`);
}
/** @internal */
exports.PostAcademicSessionRequest$inboundSchema = z.object({
    academicSession: z.lazy(() => exports.PostAcademicSessionAcademicSession$inboundSchema),
});
/** @internal */
exports.PostAcademicSessionRequest$outboundSchema = z.object({
    academicSession: z.lazy(() => exports.PostAcademicSessionAcademicSession$outboundSchema),
});
/**
 * @internal
 * @deprecated This namespace will be removed in future versions. Use schemas and types that are exported directly from this module.
 */
var PostAcademicSessionRequest$;
(function (PostAcademicSessionRequest$) {
    /** @deprecated use `PostAcademicSessionRequest$inboundSchema` instead. */
    PostAcademicSessionRequest$.inboundSchema = exports.PostAcademicSessionRequest$inboundSchema;
    /** @deprecated use `PostAcademicSessionRequest$outboundSchema` instead. */
    PostAcademicSessionRequest$.outboundSchema = exports.PostAcademicSessionRequest$outboundSchema;
})(PostAcademicSessionRequest$ || (exports.PostAcademicSessionRequest$ = PostAcademicSessionRequest$ = {}));
function postAcademicSessionRequestToJSON(postAcademicSessionRequest) {
    return JSON.stringify(exports.PostAcademicSessionRequest$outboundSchema.parse(postAcademicSessionRequest));
}
function postAcademicSessionRequestFromJSON(jsonString) {
    return (0, schemas_js_1.safeParse)(jsonString, (x) => exports.PostAcademicSessionRequest$inboundSchema.parse(JSON.parse(x)), `Failed to parse 'PostAcademicSessionRequest' from JSON`);
}
/** @internal */
exports.PostAcademicSessionSourcedIdPairs$inboundSchema = z.object({
    suppliedSourcedId: z.string(),
    allocatedSourcedId: z.string(),
});
/** @internal */
exports.PostAcademicSessionSourcedIdPairs$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.
 */
var PostAcademicSessionSourcedIdPairs$;
(function (PostAcademicSessionSourcedIdPairs$) {
    /** @deprecated use `PostAcademicSessionSourcedIdPairs$inboundSchema` instead. */
    PostAcademicSessionSourcedIdPairs$.inboundSchema = exports.PostAcademicSessionSourcedIdPairs$inboundSchema;
    /** @deprecated use `PostAcademicSessionSourcedIdPairs$outboundSchema` instead. */
    PostAcademicSessionSourcedIdPairs$.outboundSchema = exports.PostAcademicSessionSourcedIdPairs$outboundSchema;
})(PostAcademicSessionSourcedIdPairs$ || (exports.PostAcademicSessionSourcedIdPairs$ = PostAcademicSessionSourcedIdPairs$ = {}));
function postAcademicSessionSourcedIdPairsToJSON(postAcademicSessionSourcedIdPairs) {
    return JSON.stringify(exports.PostAcademicSessionSourcedIdPairs$outboundSchema.parse(postAcademicSessionSourcedIdPairs));
}
function postAcademicSessionSourcedIdPairsFromJSON(jsonString) {
    return (0, schemas_js_1.safeParse)(jsonString, (x) => exports.PostAcademicSessionSourcedIdPairs$inboundSchema.parse(JSON.parse(x)), `Failed to parse 'PostAcademicSessionSourcedIdPairs' from JSON`);
}
/** @internal */
exports.PostAcademicSessionResponse$inboundSchema = z.object({
    sourcedIdPairs: z.lazy(() => exports.PostAcademicSessionSourcedIdPairs$inboundSchema),
});
/** @internal */
exports.PostAcademicSessionResponse$outboundSchema = z.object({
    sourcedIdPairs: z.lazy(() => exports.PostAcademicSessionSourcedIdPairs$outboundSchema),
});
/**
 * @internal
 * @deprecated This namespace will be removed in future versions. Use schemas and types that are exported directly from this module.
 */
var PostAcademicSessionResponse$;
(function (PostAcademicSessionResponse$) {
    /** @deprecated use `PostAcademicSessionResponse$inboundSchema` instead. */
    PostAcademicSessionResponse$.inboundSchema = exports.PostAcademicSessionResponse$inboundSchema;
    /** @deprecated use `PostAcademicSessionResponse$outboundSchema` instead. */
    PostAcademicSessionResponse$.outboundSchema = exports.PostAcademicSessionResponse$outboundSchema;
})(PostAcademicSessionResponse$ || (exports.PostAcademicSessionResponse$ = PostAcademicSessionResponse$ = {}));
function postAcademicSessionResponseToJSON(postAcademicSessionResponse) {
    return JSON.stringify(exports.PostAcademicSessionResponse$outboundSchema.parse(postAcademicSessionResponse));
}
function postAcademicSessionResponseFromJSON(jsonString) {
    return (0, schemas_js_1.safeParse)(jsonString, (x) => exports.PostAcademicSessionResponse$inboundSchema.parse(JSON.parse(x)), `Failed to parse 'PostAcademicSessionResponse' from JSON`);
}
//# sourceMappingURL=postacademicsession.js.map