"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.EmploymentSchemasPayPeriodSourceValue$inboundSchema = exports.EmploymentSchemasPayPeriod4$inboundSchema = exports.EmploymentPayFrequency$inboundSchema = exports.EmploymentSchemasPayFrequencyValue$inboundSchema = exports.EmploymentSchemasPayFrequencySourceValue$inboundSchema = exports.EmploymentSchemasPayFrequency4$inboundSchema = exports.EmploymentJob$inboundSchema = exports.Description$inboundSchema = exports.EmploymentGrade$inboundSchema = exports.EmploymentEmploymentType$inboundSchema = exports.EmploymentSchemasValue$inboundSchema = exports.EmploymentSchemasSourceValue$inboundSchema = exports.EmploymentSchemas4$inboundSchema = exports.EmploymentEmploymentContractType$inboundSchema = exports.EmploymentValue$inboundSchema = exports.EmploymentSourceValue$inboundSchema = exports.Employment4$inboundSchema = exports.Division$inboundSchema = exports.EmploymentSchemasDivisionType$inboundSchema = exports.EmploymentSchemasDivisionValue$inboundSchema = exports.EmploymentSchemasDivisionSourceValue$inboundSchema = exports.EmploymentSchemasDivision4$inboundSchema = exports.EmploymentDepartment$inboundSchema = exports.EmploymentSchemasDepartmentType$inboundSchema = exports.EmploymentSchemasDepartmentValue$inboundSchema = exports.EmploymentSchemasDepartmentSourceValue$inboundSchema = exports.EmploymentSchemasDepartment4$inboundSchema = exports.CostCenter$inboundSchema = exports.EmploymentSchemasCostCenterType$inboundSchema = exports.EmploymentSchemasCostCenterValue$inboundSchema = exports.EmploymentSchemasCostCenterSourceValue$inboundSchema = exports.EmploymentSchemasCostCenter4$inboundSchema = exports.EmploymentSchemasContractType$inboundSchema = exports.EmploymentSchemasContractTypeContractType$inboundSchema = exports.EmploymentSchemasContractTypeValue$inboundSchema = exports.EmploymentSchemasContractTypeSourceValue$inboundSchema = exports.EmploymentSchemasContractType4$inboundSchema = exports.EmploymentActive$inboundSchema = exports.Employment2$inboundSchema = exports.EmploymentSchemasWorkTimeValue = exports.EmploymentSchemasTypeValue = exports.EmploymentSchemasPayPeriodValue = exports.EmploymentSchemasPayFrequencyValue = exports.EmploymentSchemasValue = exports.EmploymentValue = exports.EmploymentSchemasDivisionValue = exports.EmploymentSchemasDepartmentValue = exports.EmploymentSchemasCostCenterValue = exports.EmploymentSchemasContractTypeValue = exports.Employment2 = void 0;
exports.Employment$inboundSchema = exports.EmploymentWorkTime$inboundSchema = exports.EmploymentPeriod$inboundSchema = exports.EmploymentSchemasWorkTimeValue$inboundSchema = exports.EmploymentSchemasWorkTimeSourceValue$inboundSchema = exports.EmploymentSchemasWorkTime4$inboundSchema = exports.EmploymentSchemasType$inboundSchema = exports.EmploymentSchemasTypeType$inboundSchema = exports.EmploymentSchemasTypeValue$inboundSchema = exports.EmploymentSchemasTypeSourceValue$inboundSchema = exports.EmploymentSchemasType4$inboundSchema = exports.EmploymentPayPeriod$inboundSchema = exports.EmploymentSchemasPayPeriodValue$inboundSchema = void 0;
exports.employmentActiveFromJSON = employmentActiveFromJSON;
exports.employmentSchemasContractType4FromJSON = employmentSchemasContractType4FromJSON;
exports.employmentSchemasContractTypeSourceValueFromJSON = employmentSchemasContractTypeSourceValueFromJSON;
exports.employmentSchemasContractTypeContractTypeFromJSON = employmentSchemasContractTypeContractTypeFromJSON;
exports.employmentSchemasContractTypeFromJSON = employmentSchemasContractTypeFromJSON;
exports.employmentSchemasCostCenter4FromJSON = employmentSchemasCostCenter4FromJSON;
exports.employmentSchemasCostCenterSourceValueFromJSON = employmentSchemasCostCenterSourceValueFromJSON;
exports.employmentSchemasCostCenterTypeFromJSON = employmentSchemasCostCenterTypeFromJSON;
exports.costCenterFromJSON = costCenterFromJSON;
exports.employmentSchemasDepartment4FromJSON = employmentSchemasDepartment4FromJSON;
exports.employmentSchemasDepartmentSourceValueFromJSON = employmentSchemasDepartmentSourceValueFromJSON;
exports.employmentSchemasDepartmentTypeFromJSON = employmentSchemasDepartmentTypeFromJSON;
exports.employmentDepartmentFromJSON = employmentDepartmentFromJSON;
exports.employmentSchemasDivision4FromJSON = employmentSchemasDivision4FromJSON;
exports.employmentSchemasDivisionSourceValueFromJSON = employmentSchemasDivisionSourceValueFromJSON;
exports.employmentSchemasDivisionTypeFromJSON = employmentSchemasDivisionTypeFromJSON;
exports.divisionFromJSON = divisionFromJSON;
exports.employment4FromJSON = employment4FromJSON;
exports.employmentSourceValueFromJSON = employmentSourceValueFromJSON;
exports.employmentEmploymentContractTypeFromJSON = employmentEmploymentContractTypeFromJSON;
exports.employmentSchemas4FromJSON = employmentSchemas4FromJSON;
exports.employmentSchemasSourceValueFromJSON = employmentSchemasSourceValueFromJSON;
exports.employmentEmploymentTypeFromJSON = employmentEmploymentTypeFromJSON;
exports.employmentGradeFromJSON = employmentGradeFromJSON;
exports.descriptionFromJSON = descriptionFromJSON;
exports.employmentJobFromJSON = employmentJobFromJSON;
exports.employmentSchemasPayFrequency4FromJSON = employmentSchemasPayFrequency4FromJSON;
exports.employmentSchemasPayFrequencySourceValueFromJSON = employmentSchemasPayFrequencySourceValueFromJSON;
exports.employmentPayFrequencyFromJSON = employmentPayFrequencyFromJSON;
exports.employmentSchemasPayPeriod4FromJSON = employmentSchemasPayPeriod4FromJSON;
exports.employmentSchemasPayPeriodSourceValueFromJSON = employmentSchemasPayPeriodSourceValueFromJSON;
exports.employmentPayPeriodFromJSON = employmentPayPeriodFromJSON;
exports.employmentSchemasType4FromJSON = employmentSchemasType4FromJSON;
exports.employmentSchemasTypeSourceValueFromJSON = employmentSchemasTypeSourceValueFromJSON;
exports.employmentSchemasTypeTypeFromJSON = employmentSchemasTypeTypeFromJSON;
exports.employmentSchemasTypeFromJSON = employmentSchemasTypeFromJSON;
exports.employmentSchemasWorkTime4FromJSON = employmentSchemasWorkTime4FromJSON;
exports.employmentSchemasWorkTimeSourceValueFromJSON = employmentSchemasWorkTimeSourceValueFromJSON;
exports.employmentPeriodFromJSON = employmentPeriodFromJSON;
exports.employmentWorkTimeFromJSON = employmentWorkTimeFromJSON;
exports.employmentFromJSON = employmentFromJSON;
const z = __importStar(require("zod/v3"));
const primitives_js_1 = require("../../../lib/primitives.js");
const schemas_js_1 = require("../../../lib/schemas.js");
const openEnums = __importStar(require("../../types/enums.js"));
const employmentmanagerapimodel_js_1 = require("./employmentmanagerapimodel.js");
const hriscostcenter_js_1 = require("./hriscostcenter.js");
var Employment2;
(function (Employment2) {
    Employment2["True"] = "true";
    Employment2["False"] = "false";
})(Employment2 || (exports.Employment2 = Employment2 = {}));
var EmploymentSchemasContractTypeValue;
(function (EmploymentSchemasContractTypeValue) {
    EmploymentSchemasContractTypeValue["FullTime"] = "full_time";
    EmploymentSchemasContractTypeValue["Shifts"] = "shifts";
    EmploymentSchemasContractTypeValue["PartTime"] = "part_time";
    EmploymentSchemasContractTypeValue["UnmappedValue"] = "unmapped_value";
})(EmploymentSchemasContractTypeValue || (exports.EmploymentSchemasContractTypeValue = EmploymentSchemasContractTypeValue = {}));
var EmploymentSchemasCostCenterValue;
(function (EmploymentSchemasCostCenterValue) {
    EmploymentSchemasCostCenterValue["Workspace"] = "workspace";
    EmploymentSchemasCostCenterValue["Team"] = "team";
    EmploymentSchemasCostCenterValue["Department"] = "department";
    EmploymentSchemasCostCenterValue["Group"] = "group";
    EmploymentSchemasCostCenterValue["Organization"] = "organization";
    EmploymentSchemasCostCenterValue["UnmappedValue"] = "unmapped_value";
    EmploymentSchemasCostCenterValue["CostCenter"] = "cost_center";
})(EmploymentSchemasCostCenterValue || (exports.EmploymentSchemasCostCenterValue = EmploymentSchemasCostCenterValue = {}));
var EmploymentSchemasDepartmentValue;
(function (EmploymentSchemasDepartmentValue) {
    EmploymentSchemasDepartmentValue["Workspace"] = "workspace";
    EmploymentSchemasDepartmentValue["Team"] = "team";
    EmploymentSchemasDepartmentValue["Department"] = "department";
    EmploymentSchemasDepartmentValue["Group"] = "group";
    EmploymentSchemasDepartmentValue["Organization"] = "organization";
    EmploymentSchemasDepartmentValue["UnmappedValue"] = "unmapped_value";
    EmploymentSchemasDepartmentValue["CostCenter"] = "cost_center";
})(EmploymentSchemasDepartmentValue || (exports.EmploymentSchemasDepartmentValue = EmploymentSchemasDepartmentValue = {}));
var EmploymentSchemasDivisionValue;
(function (EmploymentSchemasDivisionValue) {
    EmploymentSchemasDivisionValue["Workspace"] = "workspace";
    EmploymentSchemasDivisionValue["Team"] = "team";
    EmploymentSchemasDivisionValue["Department"] = "department";
    EmploymentSchemasDivisionValue["Group"] = "group";
    EmploymentSchemasDivisionValue["Organization"] = "organization";
    EmploymentSchemasDivisionValue["UnmappedValue"] = "unmapped_value";
    EmploymentSchemasDivisionValue["CostCenter"] = "cost_center";
})(EmploymentSchemasDivisionValue || (exports.EmploymentSchemasDivisionValue = EmploymentSchemasDivisionValue = {}));
var EmploymentValue;
(function (EmploymentValue) {
    EmploymentValue["FullTime"] = "full_time";
    EmploymentValue["Shifts"] = "shifts";
    EmploymentValue["PartTime"] = "part_time";
    EmploymentValue["UnmappedValue"] = "unmapped_value";
})(EmploymentValue || (exports.EmploymentValue = EmploymentValue = {}));
/**
 * The type of the employment.
 */
var EmploymentSchemasValue;
(function (EmploymentSchemasValue) {
    EmploymentSchemasValue["Contractor"] = "contractor";
    EmploymentSchemasValue["Intern"] = "intern";
    EmploymentSchemasValue["Permanent"] = "permanent";
    EmploymentSchemasValue["Apprentice"] = "apprentice";
    EmploymentSchemasValue["Freelance"] = "freelance";
    EmploymentSchemasValue["Terminated"] = "terminated";
    EmploymentSchemasValue["Temporary"] = "temporary";
    EmploymentSchemasValue["Seasonal"] = "seasonal";
    EmploymentSchemasValue["Volunteer"] = "volunteer";
    EmploymentSchemasValue["Probation"] = "probation";
    EmploymentSchemasValue["Internal"] = "internal";
    EmploymentSchemasValue["External"] = "external";
    EmploymentSchemasValue["Expatriate"] = "expatriate";
    EmploymentSchemasValue["EmployerOfRecord"] = "employer_of_record";
    EmploymentSchemasValue["Casual"] = "casual";
    EmploymentSchemasValue["Programme"] = "Programme";
    EmploymentSchemasValue["UnmappedValue"] = "unmapped_value";
})(EmploymentSchemasValue || (exports.EmploymentSchemasValue = EmploymentSchemasValue = {}));
/**
 * The pay frequency of the job postings.
 */
var EmploymentSchemasPayFrequencyValue;
(function (EmploymentSchemasPayFrequencyValue) {
    EmploymentSchemasPayFrequencyValue["Hourly"] = "hourly";
    EmploymentSchemasPayFrequencyValue["Weekly"] = "weekly";
    EmploymentSchemasPayFrequencyValue["BiWeekly"] = "bi_weekly";
    EmploymentSchemasPayFrequencyValue["FourWeekly"] = "four_weekly";
    EmploymentSchemasPayFrequencyValue["SemiMonthly"] = "semi_monthly";
    EmploymentSchemasPayFrequencyValue["Monthly"] = "monthly";
    EmploymentSchemasPayFrequencyValue["BiMonthly"] = "bi_monthly";
    EmploymentSchemasPayFrequencyValue["Quarterly"] = "quarterly";
    EmploymentSchemasPayFrequencyValue["SemiAnnually"] = "semi_annually";
    EmploymentSchemasPayFrequencyValue["Yearly"] = "yearly";
    EmploymentSchemasPayFrequencyValue["ThirteenMonthly"] = "thirteen_monthly";
    EmploymentSchemasPayFrequencyValue["ProRata"] = "pro_rata";
    EmploymentSchemasPayFrequencyValue["UnmappedValue"] = "unmapped_value";
    EmploymentSchemasPayFrequencyValue["HalfYearly"] = "half_yearly";
    EmploymentSchemasPayFrequencyValue["Daily"] = "daily";
})(EmploymentSchemasPayFrequencyValue || (exports.EmploymentSchemasPayFrequencyValue = EmploymentSchemasPayFrequencyValue = {}));
/**
 * The pay period of the job postings.
 */
var EmploymentSchemasPayPeriodValue;
(function (EmploymentSchemasPayPeriodValue) {
    EmploymentSchemasPayPeriodValue["Hour"] = "hour";
    EmploymentSchemasPayPeriodValue["Day"] = "day";
    EmploymentSchemasPayPeriodValue["Week"] = "week";
    EmploymentSchemasPayPeriodValue["EveryTwoWeeks"] = "every_two_weeks";
    EmploymentSchemasPayPeriodValue["Month"] = "month";
    EmploymentSchemasPayPeriodValue["TwiceAMonth"] = "twice_a_month";
    EmploymentSchemasPayPeriodValue["EveryTwoMonths"] = "every_two_months";
    EmploymentSchemasPayPeriodValue["Quarter"] = "quarter";
    EmploymentSchemasPayPeriodValue["EverySixMonths"] = "every_six_months";
    EmploymentSchemasPayPeriodValue["Year"] = "year";
    EmploymentSchemasPayPeriodValue["OneOff"] = "one_off";
    EmploymentSchemasPayPeriodValue["None"] = "none";
    EmploymentSchemasPayPeriodValue["UnmappedValue"] = "unmapped_value";
})(EmploymentSchemasPayPeriodValue || (exports.EmploymentSchemasPayPeriodValue = EmploymentSchemasPayPeriodValue = {}));
var EmploymentSchemasTypeValue;
(function (EmploymentSchemasTypeValue) {
    EmploymentSchemasTypeValue["Contractor"] = "contractor";
    EmploymentSchemasTypeValue["Intern"] = "intern";
    EmploymentSchemasTypeValue["Permanent"] = "permanent";
    EmploymentSchemasTypeValue["Apprentice"] = "apprentice";
    EmploymentSchemasTypeValue["Freelance"] = "freelance";
    EmploymentSchemasTypeValue["Terminated"] = "terminated";
    EmploymentSchemasTypeValue["Temporary"] = "temporary";
    EmploymentSchemasTypeValue["Seasonal"] = "seasonal";
    EmploymentSchemasTypeValue["Volunteer"] = "volunteer";
    EmploymentSchemasTypeValue["Probation"] = "probation";
    EmploymentSchemasTypeValue["Internal"] = "internal";
    EmploymentSchemasTypeValue["External"] = "external";
    EmploymentSchemasTypeValue["Expatriate"] = "expatriate";
    EmploymentSchemasTypeValue["EmployerOfRecord"] = "employer_of_record";
    EmploymentSchemasTypeValue["Casual"] = "casual";
    EmploymentSchemasTypeValue["Programme"] = "Programme";
    EmploymentSchemasTypeValue["UnmappedValue"] = "unmapped_value";
})(EmploymentSchemasTypeValue || (exports.EmploymentSchemasTypeValue = EmploymentSchemasTypeValue = {}));
/**
 * The unified value for the period.
 */
var EmploymentSchemasWorkTimeValue;
(function (EmploymentSchemasWorkTimeValue) {
    EmploymentSchemasWorkTimeValue["Day"] = "day";
    EmploymentSchemasWorkTimeValue["Week"] = "week";
    EmploymentSchemasWorkTimeValue["Month"] = "month";
    EmploymentSchemasWorkTimeValue["Year"] = "year";
    EmploymentSchemasWorkTimeValue["UnmappedValue"] = "unmapped_value";
})(EmploymentSchemasWorkTimeValue || (exports.EmploymentSchemasWorkTimeValue = EmploymentSchemasWorkTimeValue = {}));
/** @internal */
exports.Employment2$inboundSchema = z
    .nativeEnum(Employment2);
/** @internal */
exports.EmploymentActive$inboundSchema = z.union([z.boolean(), exports.Employment2$inboundSchema]);
function employmentActiveFromJSON(jsonString) {
    return (0, schemas_js_1.safeParse)(jsonString, (x) => exports.EmploymentActive$inboundSchema.parse(JSON.parse(x)), `Failed to parse 'EmploymentActive' from JSON`);
}
/** @internal */
exports.EmploymentSchemasContractType4$inboundSchema = z.object({});
function employmentSchemasContractType4FromJSON(jsonString) {
    return (0, schemas_js_1.safeParse)(jsonString, (x) => exports.EmploymentSchemasContractType4$inboundSchema.parse(JSON.parse(x)), `Failed to parse 'EmploymentSchemasContractType4' from JSON`);
}
/** @internal */
exports.EmploymentSchemasContractTypeSourceValue$inboundSchema = z.union([
    z.string(),
    z.number(),
    z.boolean(),
    z.lazy(() => exports.EmploymentSchemasContractType4$inboundSchema),
    z.array(z.any()),
]);
function employmentSchemasContractTypeSourceValueFromJSON(jsonString) {
    return (0, schemas_js_1.safeParse)(jsonString, (x) => exports.EmploymentSchemasContractTypeSourceValue$inboundSchema.parse(JSON.parse(x)), `Failed to parse 'EmploymentSchemasContractTypeSourceValue' from JSON`);
}
/** @internal */
exports.EmploymentSchemasContractTypeValue$inboundSchema = openEnums.inboundSchema(EmploymentSchemasContractTypeValue);
/** @internal */
exports.EmploymentSchemasContractTypeContractType$inboundSchema = z.object({
    source_value: z.nullable(z.union([
        z.string(),
        z.number(),
        z.boolean(),
        z.lazy(() => exports.EmploymentSchemasContractType4$inboundSchema),
        z.array(z.any()),
    ])).optional(),
    value: z.nullable(exports.EmploymentSchemasContractTypeValue$inboundSchema)
        .optional(),
}).transform((v) => {
    return (0, primitives_js_1.remap)(v, {
        "source_value": "sourceValue",
    });
});
function employmentSchemasContractTypeContractTypeFromJSON(jsonString) {
    return (0, schemas_js_1.safeParse)(jsonString, (x) => exports.EmploymentSchemasContractTypeContractType$inboundSchema.parse(JSON.parse(x)), `Failed to parse 'EmploymentSchemasContractTypeContractType' from JSON`);
}
/** @internal */
exports.EmploymentSchemasContractType$inboundSchema = z.object({
    contract_type: z.nullable(z.lazy(() => exports.EmploymentSchemasContractTypeContractType$inboundSchema)).optional(),
    id: z.nullable(z.string()).optional(),
    label: z.nullable(z.string()).optional(),
    remote_id: z.nullable(z.string()).optional(),
}).transform((v) => {
    return (0, primitives_js_1.remap)(v, {
        "contract_type": "contractType",
        "remote_id": "remoteId",
    });
});
function employmentSchemasContractTypeFromJSON(jsonString) {
    return (0, schemas_js_1.safeParse)(jsonString, (x) => exports.EmploymentSchemasContractType$inboundSchema.parse(JSON.parse(x)), `Failed to parse 'EmploymentSchemasContractType' from JSON`);
}
/** @internal */
exports.EmploymentSchemasCostCenter4$inboundSchema = z.object({});
function employmentSchemasCostCenter4FromJSON(jsonString) {
    return (0, schemas_js_1.safeParse)(jsonString, (x) => exports.EmploymentSchemasCostCenter4$inboundSchema.parse(JSON.parse(x)), `Failed to parse 'EmploymentSchemasCostCenter4' from JSON`);
}
/** @internal */
exports.EmploymentSchemasCostCenterSourceValue$inboundSchema = z.union([
    z.string(),
    z.number(),
    z.boolean(),
    z.lazy(() => exports.EmploymentSchemasCostCenter4$inboundSchema),
    z.array(z.any()),
]);
function employmentSchemasCostCenterSourceValueFromJSON(jsonString) {
    return (0, schemas_js_1.safeParse)(jsonString, (x) => exports.EmploymentSchemasCostCenterSourceValue$inboundSchema.parse(JSON.parse(x)), `Failed to parse 'EmploymentSchemasCostCenterSourceValue' from JSON`);
}
/** @internal */
exports.EmploymentSchemasCostCenterValue$inboundSchema = openEnums.inboundSchema(EmploymentSchemasCostCenterValue);
/** @internal */
exports.EmploymentSchemasCostCenterType$inboundSchema = z.object({
    source_value: z.nullable(z.union([
        z.string(),
        z.number(),
        z.boolean(),
        z.lazy(() => exports.EmploymentSchemasCostCenter4$inboundSchema),
        z.array(z.any()),
    ])).optional(),
    value: z.nullable(exports.EmploymentSchemasCostCenterValue$inboundSchema).optional(),
}).transform((v) => {
    return (0, primitives_js_1.remap)(v, {
        "source_value": "sourceValue",
    });
});
function employmentSchemasCostCenterTypeFromJSON(jsonString) {
    return (0, schemas_js_1.safeParse)(jsonString, (x) => exports.EmploymentSchemasCostCenterType$inboundSchema.parse(JSON.parse(x)), `Failed to parse 'EmploymentSchemasCostCenterType' from JSON`);
}
/** @internal */
exports.CostCenter$inboundSchema = z.object({
    company_id: z.nullable(z.string()).optional(),
    id: z.nullable(z.string()).optional(),
    name: z.nullable(z.string()).optional(),
    owner_ids: z.nullable(z.array(z.string())).optional(),
    parent_ids: z.nullable(z.array(z.string())).optional(),
    remote_company_id: z.nullable(z.string()).optional(),
    remote_id: z.nullable(z.string()).optional(),
    remote_owner_ids: z.nullable(z.array(z.string())).optional(),
    remote_parent_ids: z.nullable(z.array(z.string())).optional(),
    type: z.nullable(z.lazy(() => exports.EmploymentSchemasCostCenterType$inboundSchema))
        .optional(),
    unified_custom_fields: z.nullable(z.record(z.any())).optional(),
}).transform((v) => {
    return (0, primitives_js_1.remap)(v, {
        "company_id": "companyId",
        "owner_ids": "ownerIds",
        "parent_ids": "parentIds",
        "remote_company_id": "remoteCompanyId",
        "remote_id": "remoteId",
        "remote_owner_ids": "remoteOwnerIds",
        "remote_parent_ids": "remoteParentIds",
        "unified_custom_fields": "unifiedCustomFields",
    });
});
function costCenterFromJSON(jsonString) {
    return (0, schemas_js_1.safeParse)(jsonString, (x) => exports.CostCenter$inboundSchema.parse(JSON.parse(x)), `Failed to parse 'CostCenter' from JSON`);
}
/** @internal */
exports.EmploymentSchemasDepartment4$inboundSchema = z.object({});
function employmentSchemasDepartment4FromJSON(jsonString) {
    return (0, schemas_js_1.safeParse)(jsonString, (x) => exports.EmploymentSchemasDepartment4$inboundSchema.parse(JSON.parse(x)), `Failed to parse 'EmploymentSchemasDepartment4' from JSON`);
}
/** @internal */
exports.EmploymentSchemasDepartmentSourceValue$inboundSchema = z.union([
    z.string(),
    z.number(),
    z.boolean(),
    z.lazy(() => exports.EmploymentSchemasDepartment4$inboundSchema),
    z.array(z.any()),
]);
function employmentSchemasDepartmentSourceValueFromJSON(jsonString) {
    return (0, schemas_js_1.safeParse)(jsonString, (x) => exports.EmploymentSchemasDepartmentSourceValue$inboundSchema.parse(JSON.parse(x)), `Failed to parse 'EmploymentSchemasDepartmentSourceValue' from JSON`);
}
/** @internal */
exports.EmploymentSchemasDepartmentValue$inboundSchema = openEnums.inboundSchema(EmploymentSchemasDepartmentValue);
/** @internal */
exports.EmploymentSchemasDepartmentType$inboundSchema = z.object({
    source_value: z.nullable(z.union([
        z.string(),
        z.number(),
        z.boolean(),
        z.lazy(() => exports.EmploymentSchemasDepartment4$inboundSchema),
        z.array(z.any()),
    ])).optional(),
    value: z.nullable(exports.EmploymentSchemasDepartmentValue$inboundSchema).optional(),
}).transform((v) => {
    return (0, primitives_js_1.remap)(v, {
        "source_value": "sourceValue",
    });
});
function employmentSchemasDepartmentTypeFromJSON(jsonString) {
    return (0, schemas_js_1.safeParse)(jsonString, (x) => exports.EmploymentSchemasDepartmentType$inboundSchema.parse(JSON.parse(x)), `Failed to parse 'EmploymentSchemasDepartmentType' from JSON`);
}
/** @internal */
exports.EmploymentDepartment$inboundSchema = z.object({
    company_id: z.nullable(z.string()).optional(),
    id: z.nullable(z.string()).optional(),
    name: z.nullable(z.string()).optional(),
    owner_ids: z.nullable(z.array(z.string())).optional(),
    parent_ids: z.nullable(z.array(z.string())).optional(),
    remote_company_id: z.nullable(z.string()).optional(),
    remote_id: z.nullable(z.string()).optional(),
    remote_owner_ids: z.nullable(z.array(z.string())).optional(),
    remote_parent_ids: z.nullable(z.array(z.string())).optional(),
    type: z.nullable(z.lazy(() => exports.EmploymentSchemasDepartmentType$inboundSchema))
        .optional(),
    unified_custom_fields: z.nullable(z.record(z.any())).optional(),
}).transform((v) => {
    return (0, primitives_js_1.remap)(v, {
        "company_id": "companyId",
        "owner_ids": "ownerIds",
        "parent_ids": "parentIds",
        "remote_company_id": "remoteCompanyId",
        "remote_id": "remoteId",
        "remote_owner_ids": "remoteOwnerIds",
        "remote_parent_ids": "remoteParentIds",
        "unified_custom_fields": "unifiedCustomFields",
    });
});
function employmentDepartmentFromJSON(jsonString) {
    return (0, schemas_js_1.safeParse)(jsonString, (x) => exports.EmploymentDepartment$inboundSchema.parse(JSON.parse(x)), `Failed to parse 'EmploymentDepartment' from JSON`);
}
/** @internal */
exports.EmploymentSchemasDivision4$inboundSchema = z.object({});
function employmentSchemasDivision4FromJSON(jsonString) {
    return (0, schemas_js_1.safeParse)(jsonString, (x) => exports.EmploymentSchemasDivision4$inboundSchema.parse(JSON.parse(x)), `Failed to parse 'EmploymentSchemasDivision4' from JSON`);
}
/** @internal */
exports.EmploymentSchemasDivisionSourceValue$inboundSchema = z.union([
    z.string(),
    z.number(),
    z.boolean(),
    z.lazy(() => exports.EmploymentSchemasDivision4$inboundSchema),
    z.array(z.any()),
]);
function employmentSchemasDivisionSourceValueFromJSON(jsonString) {
    return (0, schemas_js_1.safeParse)(jsonString, (x) => exports.EmploymentSchemasDivisionSourceValue$inboundSchema.parse(JSON.parse(x)), `Failed to parse 'EmploymentSchemasDivisionSourceValue' from JSON`);
}
/** @internal */
exports.EmploymentSchemasDivisionValue$inboundSchema = openEnums.inboundSchema(EmploymentSchemasDivisionValue);
/** @internal */
exports.EmploymentSchemasDivisionType$inboundSchema = z.object({
    source_value: z.nullable(z.union([
        z.string(),
        z.number(),
        z.boolean(),
        z.lazy(() => exports.EmploymentSchemasDivision4$inboundSchema),
        z.array(z.any()),
    ])).optional(),
    value: z.nullable(exports.EmploymentSchemasDivisionValue$inboundSchema).optional(),
}).transform((v) => {
    return (0, primitives_js_1.remap)(v, {
        "source_value": "sourceValue",
    });
});
function employmentSchemasDivisionTypeFromJSON(jsonString) {
    return (0, schemas_js_1.safeParse)(jsonString, (x) => exports.EmploymentSchemasDivisionType$inboundSchema.parse(JSON.parse(x)), `Failed to parse 'EmploymentSchemasDivisionType' from JSON`);
}
/** @internal */
exports.Division$inboundSchema = z.object({
    company_id: z.nullable(z.string()).optional(),
    id: z.nullable(z.string()).optional(),
    name: z.nullable(z.string()).optional(),
    owner_ids: z.nullable(z.array(z.string())).optional(),
    parent_ids: z.nullable(z.array(z.string())).optional(),
    remote_company_id: z.nullable(z.string()).optional(),
    remote_id: z.nullable(z.string()).optional(),
    remote_owner_ids: z.nullable(z.array(z.string())).optional(),
    remote_parent_ids: z.nullable(z.array(z.string())).optional(),
    type: z.nullable(z.lazy(() => exports.EmploymentSchemasDivisionType$inboundSchema))
        .optional(),
    unified_custom_fields: z.nullable(z.record(z.any())).optional(),
}).transform((v) => {
    return (0, primitives_js_1.remap)(v, {
        "company_id": "companyId",
        "owner_ids": "ownerIds",
        "parent_ids": "parentIds",
        "remote_company_id": "remoteCompanyId",
        "remote_id": "remoteId",
        "remote_owner_ids": "remoteOwnerIds",
        "remote_parent_ids": "remoteParentIds",
        "unified_custom_fields": "unifiedCustomFields",
    });
});
function divisionFromJSON(jsonString) {
    return (0, schemas_js_1.safeParse)(jsonString, (x) => exports.Division$inboundSchema.parse(JSON.parse(x)), `Failed to parse 'Division' from JSON`);
}
/** @internal */
exports.Employment4$inboundSchema = z.object({});
function employment4FromJSON(jsonString) {
    return (0, schemas_js_1.safeParse)(jsonString, (x) => exports.Employment4$inboundSchema.parse(JSON.parse(x)), `Failed to parse 'Employment4' from JSON`);
}
/** @internal */
exports.EmploymentSourceValue$inboundSchema = z.union([
    z.string(),
    z.number(),
    z.boolean(),
    z.lazy(() => exports.Employment4$inboundSchema),
    z.array(z.any()),
]);
function employmentSourceValueFromJSON(jsonString) {
    return (0, schemas_js_1.safeParse)(jsonString, (x) => exports.EmploymentSourceValue$inboundSchema.parse(JSON.parse(x)), `Failed to parse 'EmploymentSourceValue' from JSON`);
}
/** @internal */
exports.EmploymentValue$inboundSchema = openEnums.inboundSchema(EmploymentValue);
/** @internal */
exports.EmploymentEmploymentContractType$inboundSchema = z.object({
    source_value: z.nullable(z.union([
        z.string(),
        z.number(),
        z.boolean(),
        z.lazy(() => exports.Employment4$inboundSchema),
        z.array(z.any()),
    ])).optional(),
    value: z.nullable(exports.EmploymentValue$inboundSchema).optional(),
}).transform((v) => {
    return (0, primitives_js_1.remap)(v, {
        "source_value": "sourceValue",
    });
});
function employmentEmploymentContractTypeFromJSON(jsonString) {
    return (0, schemas_js_1.safeParse)(jsonString, (x) => exports.EmploymentEmploymentContractType$inboundSchema.parse(JSON.parse(x)), `Failed to parse 'EmploymentEmploymentContractType' from JSON`);
}
/** @internal */
exports.EmploymentSchemas4$inboundSchema = z.object({});
function employmentSchemas4FromJSON(jsonString) {
    return (0, schemas_js_1.safeParse)(jsonString, (x) => exports.EmploymentSchemas4$inboundSchema.parse(JSON.parse(x)), `Failed to parse 'EmploymentSchemas4' from JSON`);
}
/** @internal */
exports.EmploymentSchemasSourceValue$inboundSchema = z.union([
    z.string(),
    z.number(),
    z.boolean(),
    z.lazy(() => exports.EmploymentSchemas4$inboundSchema),
    z.array(z.any()),
]);
function employmentSchemasSourceValueFromJSON(jsonString) {
    return (0, schemas_js_1.safeParse)(jsonString, (x) => exports.EmploymentSchemasSourceValue$inboundSchema.parse(JSON.parse(x)), `Failed to parse 'EmploymentSchemasSourceValue' from JSON`);
}
/** @internal */
exports.EmploymentSchemasValue$inboundSchema = openEnums.inboundSchema(EmploymentSchemasValue);
/** @internal */
exports.EmploymentEmploymentType$inboundSchema = z.object({
    source_value: z.nullable(z.union([
        z.string(),
        z.number(),
        z.boolean(),
        z.lazy(() => exports.EmploymentSchemas4$inboundSchema),
        z.array(z.any()),
    ])).optional(),
    value: z.nullable(exports.EmploymentSchemasValue$inboundSchema).optional(),
}).transform((v) => {
    return (0, primitives_js_1.remap)(v, {
        "source_value": "sourceValue",
    });
});
function employmentEmploymentTypeFromJSON(jsonString) {
    return (0, schemas_js_1.safeParse)(jsonString, (x) => exports.EmploymentEmploymentType$inboundSchema.parse(JSON.parse(x)), `Failed to parse 'EmploymentEmploymentType' from JSON`);
}
/** @internal */
exports.EmploymentGrade$inboundSchema = z.object({
    description: z.nullable(z.string()).optional(),
    id: z.nullable(z.string()).optional(),
    name: z.nullable(z.string()).optional(),
    remote_id: z.nullable(z.string()).optional(),
}).transform((v) => {
    return (0, primitives_js_1.remap)(v, {
        "remote_id": "remoteId",
    });
});
function employmentGradeFromJSON(jsonString) {
    return (0, schemas_js_1.safeParse)(jsonString, (x) => exports.EmploymentGrade$inboundSchema.parse(JSON.parse(x)), `Failed to parse 'EmploymentGrade' from JSON`);
}
/** @internal */
exports.Description$inboundSchema = z.object({
    text: z.nullable(z.string()).optional(),
});
function descriptionFromJSON(jsonString) {
    return (0, schemas_js_1.safeParse)(jsonString, (x) => exports.Description$inboundSchema.parse(JSON.parse(x)), `Failed to parse 'Description' from JSON`);
}
/** @internal */
exports.EmploymentJob$inboundSchema = z.object({
    description: z.nullable(z.lazy(() => exports.Description$inboundSchema)).optional(),
    id: z.nullable(z.string()).optional(),
    owner_id: z.nullable(z.string()).optional(),
    parent_id: z.nullable(z.string()).optional(),
    remote_id: z.nullable(z.string()).optional(),
    title: z.nullable(z.string()).optional(),
}).transform((v) => {
    return (0, primitives_js_1.remap)(v, {
        "owner_id": "ownerId",
        "parent_id": "parentId",
        "remote_id": "remoteId",
    });
});
function employmentJobFromJSON(jsonString) {
    return (0, schemas_js_1.safeParse)(jsonString, (x) => exports.EmploymentJob$inboundSchema.parse(JSON.parse(x)), `Failed to parse 'EmploymentJob' from JSON`);
}
/** @internal */
exports.EmploymentSchemasPayFrequency4$inboundSchema = z.object({});
function employmentSchemasPayFrequency4FromJSON(jsonString) {
    return (0, schemas_js_1.safeParse)(jsonString, (x) => exports.EmploymentSchemasPayFrequency4$inboundSchema.parse(JSON.parse(x)), `Failed to parse 'EmploymentSchemasPayFrequency4' from JSON`);
}
/** @internal */
exports.EmploymentSchemasPayFrequencySourceValue$inboundSchema = z.union([
    z.string(),
    z.number(),
    z.boolean(),
    z.lazy(() => exports.EmploymentSchemasPayFrequency4$inboundSchema),
    z.array(z.any()),
]);
function employmentSchemasPayFrequencySourceValueFromJSON(jsonString) {
    return (0, schemas_js_1.safeParse)(jsonString, (x) => exports.EmploymentSchemasPayFrequencySourceValue$inboundSchema.parse(JSON.parse(x)), `Failed to parse 'EmploymentSchemasPayFrequencySourceValue' from JSON`);
}
/** @internal */
exports.EmploymentSchemasPayFrequencyValue$inboundSchema = openEnums.inboundSchema(EmploymentSchemasPayFrequencyValue);
/** @internal */
exports.EmploymentPayFrequency$inboundSchema = z.object({
    source_value: z.nullable(z.union([
        z.string(),
        z.number(),
        z.boolean(),
        z.lazy(() => exports.EmploymentSchemasPayFrequency4$inboundSchema),
        z.array(z.any()),
    ])).optional(),
    value: z.nullable(exports.EmploymentSchemasPayFrequencyValue$inboundSchema)
        .optional(),
}).transform((v) => {
    return (0, primitives_js_1.remap)(v, {
        "source_value": "sourceValue",
    });
});
function employmentPayFrequencyFromJSON(jsonString) {
    return (0, schemas_js_1.safeParse)(jsonString, (x) => exports.EmploymentPayFrequency$inboundSchema.parse(JSON.parse(x)), `Failed to parse 'EmploymentPayFrequency' from JSON`);
}
/** @internal */
exports.EmploymentSchemasPayPeriod4$inboundSchema = z.object({});
function employmentSchemasPayPeriod4FromJSON(jsonString) {
    return (0, schemas_js_1.safeParse)(jsonString, (x) => exports.EmploymentSchemasPayPeriod4$inboundSchema.parse(JSON.parse(x)), `Failed to parse 'EmploymentSchemasPayPeriod4' from JSON`);
}
/** @internal */
exports.EmploymentSchemasPayPeriodSourceValue$inboundSchema = z.union([
    z.string(),
    z.number(),
    z.boolean(),
    z.lazy(() => exports.EmploymentSchemasPayPeriod4$inboundSchema),
    z.array(z.any()),
]);
function employmentSchemasPayPeriodSourceValueFromJSON(jsonString) {
    return (0, schemas_js_1.safeParse)(jsonString, (x) => exports.EmploymentSchemasPayPeriodSourceValue$inboundSchema.parse(JSON.parse(x)), `Failed to parse 'EmploymentSchemasPayPeriodSourceValue' from JSON`);
}
/** @internal */
exports.EmploymentSchemasPayPeriodValue$inboundSchema = openEnums.inboundSchema(EmploymentSchemasPayPeriodValue);
/** @internal */
exports.EmploymentPayPeriod$inboundSchema = z.object({
    source_value: z.nullable(z.union([
        z.string(),
        z.number(),
        z.boolean(),
        z.lazy(() => exports.EmploymentSchemasPayPeriod4$inboundSchema),
        z.array(z.any()),
    ])).optional(),
    value: z.nullable(exports.EmploymentSchemasPayPeriodValue$inboundSchema).optional(),
}).transform((v) => {
    return (0, primitives_js_1.remap)(v, {
        "source_value": "sourceValue",
    });
});
function employmentPayPeriodFromJSON(jsonString) {
    return (0, schemas_js_1.safeParse)(jsonString, (x) => exports.EmploymentPayPeriod$inboundSchema.parse(JSON.parse(x)), `Failed to parse 'EmploymentPayPeriod' from JSON`);
}
/** @internal */
exports.EmploymentSchemasType4$inboundSchema = z.object({});
function employmentSchemasType4FromJSON(jsonString) {
    return (0, schemas_js_1.safeParse)(jsonString, (x) => exports.EmploymentSchemasType4$inboundSchema.parse(JSON.parse(x)), `Failed to parse 'EmploymentSchemasType4' from JSON`);
}
/** @internal */
exports.EmploymentSchemasTypeSourceValue$inboundSchema = z.union([
    z.string(),
    z.number(),
    z.boolean(),
    z.lazy(() => exports.EmploymentSchemasType4$inboundSchema),
    z.array(z.any()),
]);
function employmentSchemasTypeSourceValueFromJSON(jsonString) {
    return (0, schemas_js_1.safeParse)(jsonString, (x) => exports.EmploymentSchemasTypeSourceValue$inboundSchema.parse(JSON.parse(x)), `Failed to parse 'EmploymentSchemasTypeSourceValue' from JSON`);
}
/** @internal */
exports.EmploymentSchemasTypeValue$inboundSchema = openEnums.inboundSchema(EmploymentSchemasTypeValue);
/** @internal */
exports.EmploymentSchemasTypeType$inboundSchema = z.object({
    source_value: z.nullable(z.union([
        z.string(),
        z.number(),
        z.boolean(),
        z.lazy(() => exports.EmploymentSchemasType4$inboundSchema),
        z.array(z.any()),
    ])).optional(),
    value: z.nullable(exports.EmploymentSchemasTypeValue$inboundSchema).optional(),
}).transform((v) => {
    return (0, primitives_js_1.remap)(v, {
        "source_value": "sourceValue",
    });
});
function employmentSchemasTypeTypeFromJSON(jsonString) {
    return (0, schemas_js_1.safeParse)(jsonString, (x) => exports.EmploymentSchemasTypeType$inboundSchema.parse(JSON.parse(x)), `Failed to parse 'EmploymentSchemasTypeType' from JSON`);
}
/** @internal */
exports.EmploymentSchemasType$inboundSchema = z.object({
    id: z.nullable(z.string()).optional(),
    label: z.nullable(z.string()).optional(),
    remote_id: z.nullable(z.string()).optional(),
    type: z.nullable(z.lazy(() => exports.EmploymentSchemasTypeType$inboundSchema))
        .optional(),
}).transform((v) => {
    return (0, primitives_js_1.remap)(v, {
        "remote_id": "remoteId",
    });
});
function employmentSchemasTypeFromJSON(jsonString) {
    return (0, schemas_js_1.safeParse)(jsonString, (x) => exports.EmploymentSchemasType$inboundSchema.parse(JSON.parse(x)), `Failed to parse 'EmploymentSchemasType' from JSON`);
}
/** @internal */
exports.EmploymentSchemasWorkTime4$inboundSchema = z.object({});
function employmentSchemasWorkTime4FromJSON(jsonString) {
    return (0, schemas_js_1.safeParse)(jsonString, (x) => exports.EmploymentSchemasWorkTime4$inboundSchema.parse(JSON.parse(x)), `Failed to parse 'EmploymentSchemasWorkTime4' from JSON`);
}
/** @internal */
exports.EmploymentSchemasWorkTimeSourceValue$inboundSchema = z.union([
    z.string(),
    z.number(),
    z.boolean(),
    z.lazy(() => exports.EmploymentSchemasWorkTime4$inboundSchema),
    z.array(z.any()),
]);
function employmentSchemasWorkTimeSourceValueFromJSON(jsonString) {
    return (0, schemas_js_1.safeParse)(jsonString, (x) => exports.EmploymentSchemasWorkTimeSourceValue$inboundSchema.parse(JSON.parse(x)), `Failed to parse 'EmploymentSchemasWorkTimeSourceValue' from JSON`);
}
/** @internal */
exports.EmploymentSchemasWorkTimeValue$inboundSchema = openEnums.inboundSchema(EmploymentSchemasWorkTimeValue);
/** @internal */
exports.EmploymentPeriod$inboundSchema = z.object({
    source_value: z.nullable(z.union([
        z.string(),
        z.number(),
        z.boolean(),
        z.lazy(() => exports.EmploymentSchemasWorkTime4$inboundSchema),
        z.array(z.any()),
    ])).optional(),
    value: z.nullable(exports.EmploymentSchemasWorkTimeValue$inboundSchema).optional(),
}).transform((v) => {
    return (0, primitives_js_1.remap)(v, {
        "source_value": "sourceValue",
    });
});
function employmentPeriodFromJSON(jsonString) {
    return (0, schemas_js_1.safeParse)(jsonString, (x) => exports.EmploymentPeriod$inboundSchema.parse(JSON.parse(x)), `Failed to parse 'EmploymentPeriod' from JSON`);
}
/** @internal */
exports.EmploymentWorkTime$inboundSchema = z.object({
    duration: z.nullable(z.string()).optional(),
    period: z.nullable(z.lazy(() => exports.EmploymentPeriod$inboundSchema)).optional(),
});
function employmentWorkTimeFromJSON(jsonString) {
    return (0, schemas_js_1.safeParse)(jsonString, (x) => exports.EmploymentWorkTime$inboundSchema.parse(JSON.parse(x)), `Failed to parse 'EmploymentWorkTime' from JSON`);
}
/** @internal */
exports.Employment$inboundSchema = z.object({
    active: z.nullable(z.union([z.boolean(), exports.Employment2$inboundSchema]))
        .optional(),
    contract_type: z.nullable(z.lazy(() => exports.EmploymentSchemasContractType$inboundSchema)).optional(),
    cost_center: z.nullable(z.lazy(() => exports.CostCenter$inboundSchema)).optional(),
    cost_centers: z.nullable(z.array(hriscostcenter_js_1.HRISCostCenter$inboundSchema)).optional(),
    created_at: z.nullable(z.string().datetime({ offset: true }).transform(v => new Date(v))).optional(),
    department: z.nullable(z.lazy(() => exports.EmploymentDepartment$inboundSchema))
        .optional(),
    division: z.nullable(z.lazy(() => exports.Division$inboundSchema)).optional(),
    effective_date: z.nullable(z.string().datetime({ offset: true }).transform(v => new Date(v))).optional(),
    employee_id: z.nullable(z.string()).optional(),
    employment_contract_type: z.nullable(z.lazy(() => exports.EmploymentEmploymentContractType$inboundSchema)).optional(),
    employment_type: z.nullable(z.lazy(() => exports.EmploymentEmploymentType$inboundSchema)).optional(),
    end_date: z.nullable(z.string().datetime({ offset: true }).transform(v => new Date(v))).optional(),
    fte: z.nullable(z.number()).optional(),
    grade: z.nullable(z.lazy(() => exports.EmploymentGrade$inboundSchema)).optional(),
    id: z.nullable(z.string()).optional(),
    job: z.nullable(z.lazy(() => exports.EmploymentJob$inboundSchema)).optional(),
    job_title: z.nullable(z.string()).optional(),
    manager: z.nullable(z.array(employmentmanagerapimodel_js_1.EmploymentManagerApiModel$inboundSchema))
        .optional(),
    pay_currency: z.nullable(z.string()).optional(),
    pay_frequency: z.nullable(z.lazy(() => exports.EmploymentPayFrequency$inboundSchema))
        .optional(),
    pay_period: z.nullable(z.lazy(() => exports.EmploymentPayPeriod$inboundSchema))
        .optional(),
    pay_rate: z.nullable(z.string()).optional(),
    payroll_code: z.nullable(z.string()).optional(),
    remote_employee_id: z.nullable(z.string()).optional(),
    remote_id: z.nullable(z.string()).optional(),
    start_date: z.nullable(z.string().datetime({ offset: true }).transform(v => new Date(v))).optional(),
    type: z.nullable(z.lazy(() => exports.EmploymentSchemasType$inboundSchema))
        .optional(),
    unified_custom_fields: z.nullable(z.record(z.any())).optional(),
    updated_at: z.nullable(z.string().datetime({ offset: true }).transform(v => new Date(v))).optional(),
    work_time: z.nullable(z.lazy(() => exports.EmploymentWorkTime$inboundSchema))
        .optional(),
}).transform((v) => {
    return (0, primitives_js_1.remap)(v, {
        "contract_type": "contractType",
        "cost_center": "costCenter",
        "cost_centers": "costCenters",
        "created_at": "createdAt",
        "effective_date": "effectiveDate",
        "employee_id": "employeeId",
        "employment_contract_type": "employmentContractType",
        "employment_type": "employmentType",
        "end_date": "endDate",
        "job_title": "jobTitle",
        "pay_currency": "payCurrency",
        "pay_frequency": "payFrequency",
        "pay_period": "payPeriod",
        "pay_rate": "payRate",
        "payroll_code": "payrollCode",
        "remote_employee_id": "remoteEmployeeId",
        "remote_id": "remoteId",
        "start_date": "startDate",
        "unified_custom_fields": "unifiedCustomFields",
        "updated_at": "updatedAt",
        "work_time": "workTime",
    });
});
function employmentFromJSON(jsonString) {
    return (0, schemas_js_1.safeParse)(jsonString, (x) => exports.Employment$inboundSchema.parse(JSON.parse(x)), `Failed to parse 'Employment' from JSON`);
}
//# sourceMappingURL=employment.js.map