"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.CreateEmploymentApiModel$outboundSchema = exports.WorkTime$outboundSchema = exports.Period$outboundSchema = exports.CreateEmploymentApiModelSchemasWorkTimeValue$outboundSchema = exports.CreateEmploymentApiModelSchemasWorkTimeSourceValue$outboundSchema = exports.CreateEmploymentApiModelSchemasWorkTime4$outboundSchema = exports.CreateEmploymentApiModelType$outboundSchema = exports.CreateEmploymentApiModelSchemasType$outboundSchema = exports.CreateEmploymentApiModelSchemasTypeValue$outboundSchema = exports.CreateEmploymentApiModelSchemasTypeSourceValue$outboundSchema = exports.CreateEmploymentApiModelSchemasType4$outboundSchema = exports.PayPeriod$outboundSchema = exports.CreateEmploymentApiModelSchemasPayPeriodValue$outboundSchema = exports.CreateEmploymentApiModelSchemasPayPeriodSourceValue$outboundSchema = exports.CreateEmploymentApiModelSchemasPayPeriod4$outboundSchema = exports.PayFrequency$outboundSchema = exports.CreateEmploymentApiModelSchemasPayFrequencyValue$outboundSchema = exports.CreateEmploymentApiModelSchemasPayFrequencySourceValue$outboundSchema = exports.CreateEmploymentApiModelSchemasPayFrequency4$outboundSchema = exports.Grade$outboundSchema = exports.EmploymentType$outboundSchema = exports.CreateEmploymentApiModelSchemasValue$outboundSchema = exports.CreateEmploymentApiModelSchemasSourceValue$outboundSchema = exports.CreateEmploymentApiModelSchemas4$outboundSchema = exports.EmploymentContractType$outboundSchema = exports.CreateEmploymentApiModelValue$outboundSchema = exports.CreateEmploymentApiModelSourceValue$outboundSchema = exports.CreateEmploymentApiModel4$outboundSchema = exports.ContractType$outboundSchema = exports.CreateEmploymentApiModelContractType$outboundSchema = exports.CreateEmploymentApiModelSchemasContractTypeValue$outboundSchema = exports.CreateEmploymentApiModelSchemasContractTypeSourceValue$outboundSchema = exports.CreateEmploymentApiModelSchemasContractType4$outboundSchema = exports.CreateEmploymentApiModelSchemasWorkTimeValue = exports.CreateEmploymentApiModelSchemasTypeValue = exports.CreateEmploymentApiModelSchemasPayPeriodValue = exports.CreateEmploymentApiModelSchemasPayFrequencyValue = exports.CreateEmploymentApiModelSchemasValue = exports.CreateEmploymentApiModelValue = exports.CreateEmploymentApiModelSchemasContractTypeValue = void 0;
exports.createEmploymentApiModelSchemasContractType4ToJSON = createEmploymentApiModelSchemasContractType4ToJSON;
exports.createEmploymentApiModelSchemasContractTypeSourceValueToJSON = createEmploymentApiModelSchemasContractTypeSourceValueToJSON;
exports.createEmploymentApiModelContractTypeToJSON = createEmploymentApiModelContractTypeToJSON;
exports.contractTypeToJSON = contractTypeToJSON;
exports.createEmploymentApiModel4ToJSON = createEmploymentApiModel4ToJSON;
exports.createEmploymentApiModelSourceValueToJSON = createEmploymentApiModelSourceValueToJSON;
exports.employmentContractTypeToJSON = employmentContractTypeToJSON;
exports.createEmploymentApiModelSchemas4ToJSON = createEmploymentApiModelSchemas4ToJSON;
exports.createEmploymentApiModelSchemasSourceValueToJSON = createEmploymentApiModelSchemasSourceValueToJSON;
exports.employmentTypeToJSON = employmentTypeToJSON;
exports.gradeToJSON = gradeToJSON;
exports.createEmploymentApiModelSchemasPayFrequency4ToJSON = createEmploymentApiModelSchemasPayFrequency4ToJSON;
exports.createEmploymentApiModelSchemasPayFrequencySourceValueToJSON = createEmploymentApiModelSchemasPayFrequencySourceValueToJSON;
exports.payFrequencyToJSON = payFrequencyToJSON;
exports.createEmploymentApiModelSchemasPayPeriod4ToJSON = createEmploymentApiModelSchemasPayPeriod4ToJSON;
exports.createEmploymentApiModelSchemasPayPeriodSourceValueToJSON = createEmploymentApiModelSchemasPayPeriodSourceValueToJSON;
exports.payPeriodToJSON = payPeriodToJSON;
exports.createEmploymentApiModelSchemasType4ToJSON = createEmploymentApiModelSchemasType4ToJSON;
exports.createEmploymentApiModelSchemasTypeSourceValueToJSON = createEmploymentApiModelSchemasTypeSourceValueToJSON;
exports.createEmploymentApiModelSchemasTypeToJSON = createEmploymentApiModelSchemasTypeToJSON;
exports.createEmploymentApiModelTypeToJSON = createEmploymentApiModelTypeToJSON;
exports.createEmploymentApiModelSchemasWorkTime4ToJSON = createEmploymentApiModelSchemasWorkTime4ToJSON;
exports.createEmploymentApiModelSchemasWorkTimeSourceValueToJSON = createEmploymentApiModelSchemasWorkTimeSourceValueToJSON;
exports.periodToJSON = periodToJSON;
exports.workTimeToJSON = workTimeToJSON;
exports.createEmploymentApiModelToJSON = createEmploymentApiModelToJSON;
const z = __importStar(require("zod/v3"));
const primitives_js_1 = require("../../../lib/primitives.js");
const openEnums = __importStar(require("../../types/enums.js"));
var CreateEmploymentApiModelSchemasContractTypeValue;
(function (CreateEmploymentApiModelSchemasContractTypeValue) {
    CreateEmploymentApiModelSchemasContractTypeValue["FullTime"] = "full_time";
    CreateEmploymentApiModelSchemasContractTypeValue["Shifts"] = "shifts";
    CreateEmploymentApiModelSchemasContractTypeValue["PartTime"] = "part_time";
    CreateEmploymentApiModelSchemasContractTypeValue["UnmappedValue"] = "unmapped_value";
})(CreateEmploymentApiModelSchemasContractTypeValue || (exports.CreateEmploymentApiModelSchemasContractTypeValue = CreateEmploymentApiModelSchemasContractTypeValue = {}));
var CreateEmploymentApiModelValue;
(function (CreateEmploymentApiModelValue) {
    CreateEmploymentApiModelValue["FullTime"] = "full_time";
    CreateEmploymentApiModelValue["Shifts"] = "shifts";
    CreateEmploymentApiModelValue["PartTime"] = "part_time";
    CreateEmploymentApiModelValue["UnmappedValue"] = "unmapped_value";
})(CreateEmploymentApiModelValue || (exports.CreateEmploymentApiModelValue = CreateEmploymentApiModelValue = {}));
/**
 * The type of the employment.
 */
var CreateEmploymentApiModelSchemasValue;
(function (CreateEmploymentApiModelSchemasValue) {
    CreateEmploymentApiModelSchemasValue["Contractor"] = "contractor";
    CreateEmploymentApiModelSchemasValue["Intern"] = "intern";
    CreateEmploymentApiModelSchemasValue["Permanent"] = "permanent";
    CreateEmploymentApiModelSchemasValue["Apprentice"] = "apprentice";
    CreateEmploymentApiModelSchemasValue["Freelance"] = "freelance";
    CreateEmploymentApiModelSchemasValue["Terminated"] = "terminated";
    CreateEmploymentApiModelSchemasValue["Temporary"] = "temporary";
    CreateEmploymentApiModelSchemasValue["Seasonal"] = "seasonal";
    CreateEmploymentApiModelSchemasValue["Volunteer"] = "volunteer";
    CreateEmploymentApiModelSchemasValue["Probation"] = "probation";
    CreateEmploymentApiModelSchemasValue["Internal"] = "internal";
    CreateEmploymentApiModelSchemasValue["External"] = "external";
    CreateEmploymentApiModelSchemasValue["Expatriate"] = "expatriate";
    CreateEmploymentApiModelSchemasValue["EmployerOfRecord"] = "employer_of_record";
    CreateEmploymentApiModelSchemasValue["Casual"] = "casual";
    CreateEmploymentApiModelSchemasValue["Programme"] = "Programme";
    CreateEmploymentApiModelSchemasValue["UnmappedValue"] = "unmapped_value";
})(CreateEmploymentApiModelSchemasValue || (exports.CreateEmploymentApiModelSchemasValue = CreateEmploymentApiModelSchemasValue = {}));
/**
 * The pay frequency of the job postings.
 */
var CreateEmploymentApiModelSchemasPayFrequencyValue;
(function (CreateEmploymentApiModelSchemasPayFrequencyValue) {
    CreateEmploymentApiModelSchemasPayFrequencyValue["Hourly"] = "hourly";
    CreateEmploymentApiModelSchemasPayFrequencyValue["Weekly"] = "weekly";
    CreateEmploymentApiModelSchemasPayFrequencyValue["BiWeekly"] = "bi_weekly";
    CreateEmploymentApiModelSchemasPayFrequencyValue["FourWeekly"] = "four_weekly";
    CreateEmploymentApiModelSchemasPayFrequencyValue["SemiMonthly"] = "semi_monthly";
    CreateEmploymentApiModelSchemasPayFrequencyValue["Monthly"] = "monthly";
    CreateEmploymentApiModelSchemasPayFrequencyValue["BiMonthly"] = "bi_monthly";
    CreateEmploymentApiModelSchemasPayFrequencyValue["Quarterly"] = "quarterly";
    CreateEmploymentApiModelSchemasPayFrequencyValue["SemiAnnually"] = "semi_annually";
    CreateEmploymentApiModelSchemasPayFrequencyValue["Yearly"] = "yearly";
    CreateEmploymentApiModelSchemasPayFrequencyValue["ThirteenMonthly"] = "thirteen_monthly";
    CreateEmploymentApiModelSchemasPayFrequencyValue["ProRata"] = "pro_rata";
    CreateEmploymentApiModelSchemasPayFrequencyValue["UnmappedValue"] = "unmapped_value";
    CreateEmploymentApiModelSchemasPayFrequencyValue["HalfYearly"] = "half_yearly";
    CreateEmploymentApiModelSchemasPayFrequencyValue["Daily"] = "daily";
})(CreateEmploymentApiModelSchemasPayFrequencyValue || (exports.CreateEmploymentApiModelSchemasPayFrequencyValue = CreateEmploymentApiModelSchemasPayFrequencyValue = {}));
/**
 * The pay period of the job postings.
 */
var CreateEmploymentApiModelSchemasPayPeriodValue;
(function (CreateEmploymentApiModelSchemasPayPeriodValue) {
    CreateEmploymentApiModelSchemasPayPeriodValue["Hour"] = "hour";
    CreateEmploymentApiModelSchemasPayPeriodValue["Day"] = "day";
    CreateEmploymentApiModelSchemasPayPeriodValue["Week"] = "week";
    CreateEmploymentApiModelSchemasPayPeriodValue["EveryTwoWeeks"] = "every_two_weeks";
    CreateEmploymentApiModelSchemasPayPeriodValue["Month"] = "month";
    CreateEmploymentApiModelSchemasPayPeriodValue["TwiceAMonth"] = "twice_a_month";
    CreateEmploymentApiModelSchemasPayPeriodValue["EveryTwoMonths"] = "every_two_months";
    CreateEmploymentApiModelSchemasPayPeriodValue["Quarter"] = "quarter";
    CreateEmploymentApiModelSchemasPayPeriodValue["EverySixMonths"] = "every_six_months";
    CreateEmploymentApiModelSchemasPayPeriodValue["Year"] = "year";
    CreateEmploymentApiModelSchemasPayPeriodValue["OneOff"] = "one_off";
    CreateEmploymentApiModelSchemasPayPeriodValue["None"] = "none";
    CreateEmploymentApiModelSchemasPayPeriodValue["UnmappedValue"] = "unmapped_value";
})(CreateEmploymentApiModelSchemasPayPeriodValue || (exports.CreateEmploymentApiModelSchemasPayPeriodValue = CreateEmploymentApiModelSchemasPayPeriodValue = {}));
var CreateEmploymentApiModelSchemasTypeValue;
(function (CreateEmploymentApiModelSchemasTypeValue) {
    CreateEmploymentApiModelSchemasTypeValue["Contractor"] = "contractor";
    CreateEmploymentApiModelSchemasTypeValue["Intern"] = "intern";
    CreateEmploymentApiModelSchemasTypeValue["Permanent"] = "permanent";
    CreateEmploymentApiModelSchemasTypeValue["Apprentice"] = "apprentice";
    CreateEmploymentApiModelSchemasTypeValue["Freelance"] = "freelance";
    CreateEmploymentApiModelSchemasTypeValue["Terminated"] = "terminated";
    CreateEmploymentApiModelSchemasTypeValue["Temporary"] = "temporary";
    CreateEmploymentApiModelSchemasTypeValue["Seasonal"] = "seasonal";
    CreateEmploymentApiModelSchemasTypeValue["Volunteer"] = "volunteer";
    CreateEmploymentApiModelSchemasTypeValue["Probation"] = "probation";
    CreateEmploymentApiModelSchemasTypeValue["Internal"] = "internal";
    CreateEmploymentApiModelSchemasTypeValue["External"] = "external";
    CreateEmploymentApiModelSchemasTypeValue["Expatriate"] = "expatriate";
    CreateEmploymentApiModelSchemasTypeValue["EmployerOfRecord"] = "employer_of_record";
    CreateEmploymentApiModelSchemasTypeValue["Casual"] = "casual";
    CreateEmploymentApiModelSchemasTypeValue["Programme"] = "Programme";
    CreateEmploymentApiModelSchemasTypeValue["UnmappedValue"] = "unmapped_value";
})(CreateEmploymentApiModelSchemasTypeValue || (exports.CreateEmploymentApiModelSchemasTypeValue = CreateEmploymentApiModelSchemasTypeValue = {}));
/**
 * The unified value for the period.
 */
var CreateEmploymentApiModelSchemasWorkTimeValue;
(function (CreateEmploymentApiModelSchemasWorkTimeValue) {
    CreateEmploymentApiModelSchemasWorkTimeValue["Day"] = "day";
    CreateEmploymentApiModelSchemasWorkTimeValue["Week"] = "week";
    CreateEmploymentApiModelSchemasWorkTimeValue["Month"] = "month";
    CreateEmploymentApiModelSchemasWorkTimeValue["Year"] = "year";
    CreateEmploymentApiModelSchemasWorkTimeValue["UnmappedValue"] = "unmapped_value";
})(CreateEmploymentApiModelSchemasWorkTimeValue || (exports.CreateEmploymentApiModelSchemasWorkTimeValue = CreateEmploymentApiModelSchemasWorkTimeValue = {}));
/** @internal */
exports.CreateEmploymentApiModelSchemasContractType4$outboundSchema = z.object({});
function createEmploymentApiModelSchemasContractType4ToJSON(createEmploymentApiModelSchemasContractType4) {
    return JSON.stringify(exports.CreateEmploymentApiModelSchemasContractType4$outboundSchema.parse(createEmploymentApiModelSchemasContractType4));
}
/** @internal */
exports.CreateEmploymentApiModelSchemasContractTypeSourceValue$outboundSchema = z.union([
    z.string(),
    z.number(),
    z.boolean(),
    z.lazy(() => exports.CreateEmploymentApiModelSchemasContractType4$outboundSchema),
    z.array(z.any()),
]);
function createEmploymentApiModelSchemasContractTypeSourceValueToJSON(createEmploymentApiModelSchemasContractTypeSourceValue) {
    return JSON.stringify(exports.CreateEmploymentApiModelSchemasContractTypeSourceValue$outboundSchema.parse(createEmploymentApiModelSchemasContractTypeSourceValue));
}
/** @internal */
exports.CreateEmploymentApiModelSchemasContractTypeValue$outboundSchema = openEnums.outboundSchema(CreateEmploymentApiModelSchemasContractTypeValue);
/** @internal */
exports.CreateEmploymentApiModelContractType$outboundSchema = z.object({
    sourceValue: z.nullable(z.union([
        z.string(),
        z.number(),
        z.boolean(),
        z.lazy(() => exports.CreateEmploymentApiModelSchemasContractType4$outboundSchema),
        z.array(z.any()),
    ])).optional(),
    value: z.nullable(exports.CreateEmploymentApiModelSchemasContractTypeValue$outboundSchema).optional(),
}).transform((v) => {
    return (0, primitives_js_1.remap)(v, {
        sourceValue: "source_value",
    });
});
function createEmploymentApiModelContractTypeToJSON(createEmploymentApiModelContractType) {
    return JSON.stringify(exports.CreateEmploymentApiModelContractType$outboundSchema.parse(createEmploymentApiModelContractType));
}
/** @internal */
exports.ContractType$outboundSchema = z.object({
    contractType: z.nullable(z.lazy(() => exports.CreateEmploymentApiModelContractType$outboundSchema)).optional(),
    id: z.nullable(z.string()).optional(),
    label: z.nullable(z.string()).optional(),
    remoteId: z.nullable(z.string()).optional(),
}).transform((v) => {
    return (0, primitives_js_1.remap)(v, {
        contractType: "contract_type",
        remoteId: "remote_id",
    });
});
function contractTypeToJSON(contractType) {
    return JSON.stringify(exports.ContractType$outboundSchema.parse(contractType));
}
/** @internal */
exports.CreateEmploymentApiModel4$outboundSchema = z.object({});
function createEmploymentApiModel4ToJSON(createEmploymentApiModel4) {
    return JSON.stringify(exports.CreateEmploymentApiModel4$outboundSchema.parse(createEmploymentApiModel4));
}
/** @internal */
exports.CreateEmploymentApiModelSourceValue$outboundSchema = z.union([
    z.string(),
    z.number(),
    z.boolean(),
    z.lazy(() => exports.CreateEmploymentApiModel4$outboundSchema),
    z.array(z.any()),
]);
function createEmploymentApiModelSourceValueToJSON(createEmploymentApiModelSourceValue) {
    return JSON.stringify(exports.CreateEmploymentApiModelSourceValue$outboundSchema.parse(createEmploymentApiModelSourceValue));
}
/** @internal */
exports.CreateEmploymentApiModelValue$outboundSchema = openEnums.outboundSchema(CreateEmploymentApiModelValue);
/** @internal */
exports.EmploymentContractType$outboundSchema = z.object({
    sourceValue: z.nullable(z.union([
        z.string(),
        z.number(),
        z.boolean(),
        z.lazy(() => exports.CreateEmploymentApiModel4$outboundSchema),
        z.array(z.any()),
    ])).optional(),
    value: z.nullable(exports.CreateEmploymentApiModelValue$outboundSchema).optional(),
}).transform((v) => {
    return (0, primitives_js_1.remap)(v, {
        sourceValue: "source_value",
    });
});
function employmentContractTypeToJSON(employmentContractType) {
    return JSON.stringify(exports.EmploymentContractType$outboundSchema.parse(employmentContractType));
}
/** @internal */
exports.CreateEmploymentApiModelSchemas4$outboundSchema = z.object({});
function createEmploymentApiModelSchemas4ToJSON(createEmploymentApiModelSchemas4) {
    return JSON.stringify(exports.CreateEmploymentApiModelSchemas4$outboundSchema.parse(createEmploymentApiModelSchemas4));
}
/** @internal */
exports.CreateEmploymentApiModelSchemasSourceValue$outboundSchema = z.union([
    z.string(),
    z.number(),
    z.boolean(),
    z.lazy(() => exports.CreateEmploymentApiModelSchemas4$outboundSchema),
    z.array(z.any()),
]);
function createEmploymentApiModelSchemasSourceValueToJSON(createEmploymentApiModelSchemasSourceValue) {
    return JSON.stringify(exports.CreateEmploymentApiModelSchemasSourceValue$outboundSchema.parse(createEmploymentApiModelSchemasSourceValue));
}
/** @internal */
exports.CreateEmploymentApiModelSchemasValue$outboundSchema = openEnums.outboundSchema(CreateEmploymentApiModelSchemasValue);
/** @internal */
exports.EmploymentType$outboundSchema = z.object({
    sourceValue: z.nullable(z.union([
        z.string(),
        z.number(),
        z.boolean(),
        z.lazy(() => exports.CreateEmploymentApiModelSchemas4$outboundSchema),
        z.array(z.any()),
    ])).optional(),
    value: z.nullable(exports.CreateEmploymentApiModelSchemasValue$outboundSchema)
        .optional(),
}).transform((v) => {
    return (0, primitives_js_1.remap)(v, {
        sourceValue: "source_value",
    });
});
function employmentTypeToJSON(employmentType) {
    return JSON.stringify(exports.EmploymentType$outboundSchema.parse(employmentType));
}
/** @internal */
exports.Grade$outboundSchema = z.object({
    description: z.nullable(z.string()).optional(),
    id: z.nullable(z.string()).optional(),
    name: z.nullable(z.string()).optional(),
    remoteId: z.nullable(z.string()).optional(),
}).transform((v) => {
    return (0, primitives_js_1.remap)(v, {
        remoteId: "remote_id",
    });
});
function gradeToJSON(grade) {
    return JSON.stringify(exports.Grade$outboundSchema.parse(grade));
}
/** @internal */
exports.CreateEmploymentApiModelSchemasPayFrequency4$outboundSchema = z.object({});
function createEmploymentApiModelSchemasPayFrequency4ToJSON(createEmploymentApiModelSchemasPayFrequency4) {
    return JSON.stringify(exports.CreateEmploymentApiModelSchemasPayFrequency4$outboundSchema.parse(createEmploymentApiModelSchemasPayFrequency4));
}
/** @internal */
exports.CreateEmploymentApiModelSchemasPayFrequencySourceValue$outboundSchema = z.union([
    z.string(),
    z.number(),
    z.boolean(),
    z.lazy(() => exports.CreateEmploymentApiModelSchemasPayFrequency4$outboundSchema),
    z.array(z.any()),
]);
function createEmploymentApiModelSchemasPayFrequencySourceValueToJSON(createEmploymentApiModelSchemasPayFrequencySourceValue) {
    return JSON.stringify(exports.CreateEmploymentApiModelSchemasPayFrequencySourceValue$outboundSchema.parse(createEmploymentApiModelSchemasPayFrequencySourceValue));
}
/** @internal */
exports.CreateEmploymentApiModelSchemasPayFrequencyValue$outboundSchema = openEnums.outboundSchema(CreateEmploymentApiModelSchemasPayFrequencyValue);
/** @internal */
exports.PayFrequency$outboundSchema = z.object({
    sourceValue: z.nullable(z.union([
        z.string(),
        z.number(),
        z.boolean(),
        z.lazy(() => exports.CreateEmploymentApiModelSchemasPayFrequency4$outboundSchema),
        z.array(z.any()),
    ])).optional(),
    value: z.nullable(exports.CreateEmploymentApiModelSchemasPayFrequencyValue$outboundSchema).optional(),
}).transform((v) => {
    return (0, primitives_js_1.remap)(v, {
        sourceValue: "source_value",
    });
});
function payFrequencyToJSON(payFrequency) {
    return JSON.stringify(exports.PayFrequency$outboundSchema.parse(payFrequency));
}
/** @internal */
exports.CreateEmploymentApiModelSchemasPayPeriod4$outboundSchema = z.object({});
function createEmploymentApiModelSchemasPayPeriod4ToJSON(createEmploymentApiModelSchemasPayPeriod4) {
    return JSON.stringify(exports.CreateEmploymentApiModelSchemasPayPeriod4$outboundSchema.parse(createEmploymentApiModelSchemasPayPeriod4));
}
/** @internal */
exports.CreateEmploymentApiModelSchemasPayPeriodSourceValue$outboundSchema = z.union([
    z.string(),
    z.number(),
    z.boolean(),
    z.lazy(() => exports.CreateEmploymentApiModelSchemasPayPeriod4$outboundSchema),
    z.array(z.any()),
]);
function createEmploymentApiModelSchemasPayPeriodSourceValueToJSON(createEmploymentApiModelSchemasPayPeriodSourceValue) {
    return JSON.stringify(exports.CreateEmploymentApiModelSchemasPayPeriodSourceValue$outboundSchema.parse(createEmploymentApiModelSchemasPayPeriodSourceValue));
}
/** @internal */
exports.CreateEmploymentApiModelSchemasPayPeriodValue$outboundSchema = openEnums.outboundSchema(CreateEmploymentApiModelSchemasPayPeriodValue);
/** @internal */
exports.PayPeriod$outboundSchema = z.object({
    sourceValue: z.nullable(z.union([
        z.string(),
        z.number(),
        z.boolean(),
        z.lazy(() => exports.CreateEmploymentApiModelSchemasPayPeriod4$outboundSchema),
        z.array(z.any()),
    ])).optional(),
    value: z.nullable(exports.CreateEmploymentApiModelSchemasPayPeriodValue$outboundSchema).optional(),
}).transform((v) => {
    return (0, primitives_js_1.remap)(v, {
        sourceValue: "source_value",
    });
});
function payPeriodToJSON(payPeriod) {
    return JSON.stringify(exports.PayPeriod$outboundSchema.parse(payPeriod));
}
/** @internal */
exports.CreateEmploymentApiModelSchemasType4$outboundSchema = z.object({});
function createEmploymentApiModelSchemasType4ToJSON(createEmploymentApiModelSchemasType4) {
    return JSON.stringify(exports.CreateEmploymentApiModelSchemasType4$outboundSchema.parse(createEmploymentApiModelSchemasType4));
}
/** @internal */
exports.CreateEmploymentApiModelSchemasTypeSourceValue$outboundSchema = z.union([
    z.string(),
    z.number(),
    z.boolean(),
    z.lazy(() => exports.CreateEmploymentApiModelSchemasType4$outboundSchema),
    z.array(z.any()),
]);
function createEmploymentApiModelSchemasTypeSourceValueToJSON(createEmploymentApiModelSchemasTypeSourceValue) {
    return JSON.stringify(exports.CreateEmploymentApiModelSchemasTypeSourceValue$outboundSchema.parse(createEmploymentApiModelSchemasTypeSourceValue));
}
/** @internal */
exports.CreateEmploymentApiModelSchemasTypeValue$outboundSchema = openEnums.outboundSchema(CreateEmploymentApiModelSchemasTypeValue);
/** @internal */
exports.CreateEmploymentApiModelSchemasType$outboundSchema = z.object({
    sourceValue: z.nullable(z.union([
        z.string(),
        z.number(),
        z.boolean(),
        z.lazy(() => exports.CreateEmploymentApiModelSchemasType4$outboundSchema),
        z.array(z.any()),
    ])).optional(),
    value: z.nullable(exports.CreateEmploymentApiModelSchemasTypeValue$outboundSchema)
        .optional(),
}).transform((v) => {
    return (0, primitives_js_1.remap)(v, {
        sourceValue: "source_value",
    });
});
function createEmploymentApiModelSchemasTypeToJSON(createEmploymentApiModelSchemasType) {
    return JSON.stringify(exports.CreateEmploymentApiModelSchemasType$outboundSchema.parse(createEmploymentApiModelSchemasType));
}
/** @internal */
exports.CreateEmploymentApiModelType$outboundSchema = z.object({
    id: z.nullable(z.string()).optional(),
    label: z.nullable(z.string()).optional(),
    remoteId: z.nullable(z.string()).optional(),
    type: z.nullable(z.lazy(() => exports.CreateEmploymentApiModelSchemasType$outboundSchema)).optional(),
}).transform((v) => {
    return (0, primitives_js_1.remap)(v, {
        remoteId: "remote_id",
    });
});
function createEmploymentApiModelTypeToJSON(createEmploymentApiModelType) {
    return JSON.stringify(exports.CreateEmploymentApiModelType$outboundSchema.parse(createEmploymentApiModelType));
}
/** @internal */
exports.CreateEmploymentApiModelSchemasWorkTime4$outboundSchema = z.object({});
function createEmploymentApiModelSchemasWorkTime4ToJSON(createEmploymentApiModelSchemasWorkTime4) {
    return JSON.stringify(exports.CreateEmploymentApiModelSchemasWorkTime4$outboundSchema.parse(createEmploymentApiModelSchemasWorkTime4));
}
/** @internal */
exports.CreateEmploymentApiModelSchemasWorkTimeSourceValue$outboundSchema = z.union([
    z.string(),
    z.number(),
    z.boolean(),
    z.lazy(() => exports.CreateEmploymentApiModelSchemasWorkTime4$outboundSchema),
    z.array(z.any()),
]);
function createEmploymentApiModelSchemasWorkTimeSourceValueToJSON(createEmploymentApiModelSchemasWorkTimeSourceValue) {
    return JSON.stringify(exports.CreateEmploymentApiModelSchemasWorkTimeSourceValue$outboundSchema.parse(createEmploymentApiModelSchemasWorkTimeSourceValue));
}
/** @internal */
exports.CreateEmploymentApiModelSchemasWorkTimeValue$outboundSchema = openEnums.outboundSchema(CreateEmploymentApiModelSchemasWorkTimeValue);
/** @internal */
exports.Period$outboundSchema = z.object({
    sourceValue: z.nullable(z.union([
        z.string(),
        z.number(),
        z.boolean(),
        z.lazy(() => exports.CreateEmploymentApiModelSchemasWorkTime4$outboundSchema),
        z.array(z.any()),
    ])).optional(),
    value: z.nullable(exports.CreateEmploymentApiModelSchemasWorkTimeValue$outboundSchema)
        .optional(),
}).transform((v) => {
    return (0, primitives_js_1.remap)(v, {
        sourceValue: "source_value",
    });
});
function periodToJSON(period) {
    return JSON.stringify(exports.Period$outboundSchema.parse(period));
}
/** @internal */
exports.WorkTime$outboundSchema = z.object({
    duration: z.nullable(z.string()).optional(),
    period: z.nullable(z.lazy(() => exports.Period$outboundSchema)).optional(),
});
function workTimeToJSON(workTime) {
    return JSON.stringify(exports.WorkTime$outboundSchema.parse(workTime));
}
/** @internal */
exports.CreateEmploymentApiModel$outboundSchema = z.object({
    contractType: z.nullable(z.lazy(() => exports.ContractType$outboundSchema))
        .optional(),
    effectiveDate: z.nullable(z.date().transform(v => v.toISOString()))
        .optional(),
    employmentContractType: z.nullable(z.lazy(() => exports.EmploymentContractType$outboundSchema)).optional(),
    employmentType: z.nullable(z.lazy(() => exports.EmploymentType$outboundSchema))
        .optional(),
    endDate: z.nullable(z.date().transform(v => v.toISOString())).optional(),
    grade: z.nullable(z.lazy(() => exports.Grade$outboundSchema)).optional(),
    jobId: z.nullable(z.string()).optional(),
    jobTitle: z.nullable(z.string()).optional(),
    payCurrency: z.nullable(z.string()).optional(),
    payFrequency: z.nullable(z.lazy(() => exports.PayFrequency$outboundSchema))
        .optional(),
    payPeriod: z.nullable(z.lazy(() => exports.PayPeriod$outboundSchema)).optional(),
    payRate: z.nullable(z.string()).optional(),
    payrollCode: z.nullable(z.string()).optional(),
    type: z.nullable(z.lazy(() => exports.CreateEmploymentApiModelType$outboundSchema))
        .optional(),
    unifiedCustomFields: z.nullable(z.record(z.any())).optional(),
    workTime: z.nullable(z.lazy(() => exports.WorkTime$outboundSchema)).optional(),
}).transform((v) => {
    return (0, primitives_js_1.remap)(v, {
        contractType: "contract_type",
        effectiveDate: "effective_date",
        employmentContractType: "employment_contract_type",
        employmentType: "employment_type",
        endDate: "end_date",
        jobId: "job_id",
        jobTitle: "job_title",
        payCurrency: "pay_currency",
        payFrequency: "pay_frequency",
        payPeriod: "pay_period",
        payRate: "pay_rate",
        payrollCode: "payroll_code",
        unifiedCustomFields: "unified_custom_fields",
        workTime: "work_time",
    });
});
function createEmploymentApiModelToJSON(createEmploymentApiModel) {
    return JSON.stringify(exports.CreateEmploymentApiModel$outboundSchema.parse(createEmploymentApiModel));
}
//# sourceMappingURL=createemploymentapimodel.js.map