"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 (mod) {
    if (mod && mod.__esModule) return mod;
    var result = {};
    if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
    __setModuleDefault(result, mod);
    return result;
};
Object.defineProperty(exports, "__esModule", { value: true });
exports.EmploymentSourceValue$inboundSchema = exports.employment4FromJSON = exports.employment4ToJSON = exports.Employment4$ = exports.Employment4$outboundSchema = exports.Employment4$inboundSchema = exports.divisionFromJSON = exports.divisionToJSON = exports.Division$ = exports.Division$outboundSchema = exports.Division$inboundSchema = exports.employmentDepartmentFromJSON = exports.employmentDepartmentToJSON = exports.EmploymentDepartment$ = exports.EmploymentDepartment$outboundSchema = exports.EmploymentDepartment$inboundSchema = exports.costCenterFromJSON = exports.costCenterToJSON = exports.CostCenter$ = exports.CostCenter$outboundSchema = exports.CostCenter$inboundSchema = exports.contractTypeFromJSON = exports.contractTypeToJSON = exports.ContractType$ = exports.ContractType$outboundSchema = exports.ContractType$inboundSchema = exports.employmentSchemasContractTypeFromJSON = exports.employmentSchemasContractTypeToJSON = exports.EmploymentSchemasContractType$ = exports.EmploymentSchemasContractType$outboundSchema = exports.EmploymentSchemasContractType$inboundSchema = exports.EmploymentSchemasContractTypeValue$ = exports.EmploymentSchemasContractTypeValue$outboundSchema = exports.EmploymentSchemasContractTypeValue$inboundSchema = exports.employmentSchemasContractTypeSourceValueFromJSON = exports.employmentSchemasContractTypeSourceValueToJSON = exports.EmploymentSchemasContractTypeSourceValue$ = exports.EmploymentSchemasContractTypeSourceValue$outboundSchema = exports.EmploymentSchemasContractTypeSourceValue$inboundSchema = exports.employmentSchemasContractType4FromJSON = exports.employmentSchemasContractType4ToJSON = exports.EmploymentSchemasContractType4$ = exports.EmploymentSchemasContractType4$outboundSchema = exports.EmploymentSchemasContractType4$inboundSchema = exports.EmploymentSchemasTypeValue = exports.EmploymentSchemasPayPeriodValue = exports.EmploymentSchemasPayFrequencyValue = exports.EmploymentSchemasValue = exports.EmploymentValue = exports.EmploymentSchemasContractTypeValue = void 0;
exports.employmentSchemasPayFrequencySourceValueFromJSON = exports.employmentSchemasPayFrequencySourceValueToJSON = exports.EmploymentSchemasPayFrequencySourceValue$ = exports.EmploymentSchemasPayFrequencySourceValue$outboundSchema = exports.EmploymentSchemasPayFrequencySourceValue$inboundSchema = exports.employmentSchemasPayFrequency4FromJSON = exports.employmentSchemasPayFrequency4ToJSON = exports.EmploymentSchemasPayFrequency4$ = exports.EmploymentSchemasPayFrequency4$outboundSchema = exports.EmploymentSchemasPayFrequency4$inboundSchema = exports.employmentJobFromJSON = exports.employmentJobToJSON = exports.EmploymentJob$ = exports.EmploymentJob$outboundSchema = exports.EmploymentJob$inboundSchema = exports.descriptionFromJSON = exports.descriptionToJSON = exports.Description$ = exports.Description$outboundSchema = exports.Description$inboundSchema = exports.employmentEmploymentTypeFromJSON = exports.employmentEmploymentTypeToJSON = exports.EmploymentEmploymentType$ = exports.EmploymentEmploymentType$outboundSchema = exports.EmploymentEmploymentType$inboundSchema = exports.EmploymentSchemasValue$ = exports.EmploymentSchemasValue$outboundSchema = exports.EmploymentSchemasValue$inboundSchema = exports.employmentSchemasSourceValueFromJSON = exports.employmentSchemasSourceValueToJSON = exports.EmploymentSchemasSourceValue$ = exports.EmploymentSchemasSourceValue$outboundSchema = exports.EmploymentSchemasSourceValue$inboundSchema = exports.employmentSchemas4FromJSON = exports.employmentSchemas4ToJSON = exports.EmploymentSchemas4$ = exports.EmploymentSchemas4$outboundSchema = exports.EmploymentSchemas4$inboundSchema = exports.employmentEmploymentContractTypeFromJSON = exports.employmentEmploymentContractTypeToJSON = exports.EmploymentEmploymentContractType$ = exports.EmploymentEmploymentContractType$outboundSchema = exports.EmploymentEmploymentContractType$inboundSchema = exports.EmploymentValue$ = exports.EmploymentValue$outboundSchema = exports.EmploymentValue$inboundSchema = exports.employmentSourceValueFromJSON = exports.employmentSourceValueToJSON = exports.EmploymentSourceValue$ = exports.EmploymentSourceValue$outboundSchema = void 0;
exports.Employment$inboundSchema = exports.employmentSchemasTypeFromJSON = exports.employmentSchemasTypeToJSON = exports.EmploymentSchemasType$ = exports.EmploymentSchemasType$outboundSchema = exports.EmploymentSchemasType$inboundSchema = exports.employmentSchemasTypeTypeFromJSON = exports.employmentSchemasTypeTypeToJSON = exports.EmploymentSchemasTypeType$ = exports.EmploymentSchemasTypeType$outboundSchema = exports.EmploymentSchemasTypeType$inboundSchema = exports.EmploymentSchemasTypeValue$ = exports.EmploymentSchemasTypeValue$outboundSchema = exports.EmploymentSchemasTypeValue$inboundSchema = exports.employmentSchemasTypeSourceValueFromJSON = exports.employmentSchemasTypeSourceValueToJSON = exports.EmploymentSchemasTypeSourceValue$ = exports.EmploymentSchemasTypeSourceValue$outboundSchema = exports.EmploymentSchemasTypeSourceValue$inboundSchema = exports.employmentSchemasType4FromJSON = exports.employmentSchemasType4ToJSON = exports.EmploymentSchemasType4$ = exports.EmploymentSchemasType4$outboundSchema = exports.EmploymentSchemasType4$inboundSchema = exports.employmentPayPeriodFromJSON = exports.employmentPayPeriodToJSON = exports.EmploymentPayPeriod$ = exports.EmploymentPayPeriod$outboundSchema = exports.EmploymentPayPeriod$inboundSchema = exports.EmploymentSchemasPayPeriodValue$ = exports.EmploymentSchemasPayPeriodValue$outboundSchema = exports.EmploymentSchemasPayPeriodValue$inboundSchema = exports.employmentSchemasPayPeriodSourceValueFromJSON = exports.employmentSchemasPayPeriodSourceValueToJSON = exports.EmploymentSchemasPayPeriodSourceValue$ = exports.EmploymentSchemasPayPeriodSourceValue$outboundSchema = exports.EmploymentSchemasPayPeriodSourceValue$inboundSchema = exports.employmentSchemasPayPeriod4FromJSON = exports.employmentSchemasPayPeriod4ToJSON = exports.EmploymentSchemasPayPeriod4$ = exports.EmploymentSchemasPayPeriod4$outboundSchema = exports.EmploymentSchemasPayPeriod4$inboundSchema = exports.employmentPayFrequencyFromJSON = exports.employmentPayFrequencyToJSON = exports.EmploymentPayFrequency$ = exports.EmploymentPayFrequency$outboundSchema = exports.EmploymentPayFrequency$inboundSchema = exports.EmploymentSchemasPayFrequencyValue$ = exports.EmploymentSchemasPayFrequencyValue$outboundSchema = exports.EmploymentSchemasPayFrequencyValue$inboundSchema = void 0;
exports.employmentFromJSON = exports.employmentToJSON = exports.Employment$ = exports.Employment$outboundSchema = void 0;
const z = __importStar(require("zod"));
const primitives_js_1 = require("../../../lib/primitives.js");
const schemas_js_1 = require("../../../lib/schemas.js");
const enums_js_1 = require("../../types/enums.js");
const employmentmanagerapimodel_js_1 = require("./employmentmanagerapimodel.js");
var EmploymentSchemasContractTypeValue;
(function (EmploymentSchemasContractTypeValue) {
    EmploymentSchemasContractTypeValue["FullTime"] = "full_time";
    EmploymentSchemasContractTypeValue["Shifts"] = "shifts";
    EmploymentSchemasContractTypeValue["PartTime"] = "part_time";
    EmploymentSchemasContractTypeValue["UnmappedValue"] = "unmapped_value";
})(EmploymentSchemasContractTypeValue || (exports.EmploymentSchemasContractTypeValue = EmploymentSchemasContractTypeValue = {}));
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 = {}));
/** @internal */
exports.EmploymentSchemasContractType4$inboundSchema = z.object({});
/** @internal */
exports.EmploymentSchemasContractType4$outboundSchema = z.object({});
/**
 * @internal
 * @deprecated This namespace will be removed in future versions. Use schemas and types that are exported directly from this module.
 */
var EmploymentSchemasContractType4$;
(function (EmploymentSchemasContractType4$) {
    /** @deprecated use `EmploymentSchemasContractType4$inboundSchema` instead. */
    EmploymentSchemasContractType4$.inboundSchema = exports.EmploymentSchemasContractType4$inboundSchema;
    /** @deprecated use `EmploymentSchemasContractType4$outboundSchema` instead. */
    EmploymentSchemasContractType4$.outboundSchema = exports.EmploymentSchemasContractType4$outboundSchema;
})(EmploymentSchemasContractType4$ || (exports.EmploymentSchemasContractType4$ = EmploymentSchemasContractType4$ = {}));
function employmentSchemasContractType4ToJSON(employmentSchemasContractType4) {
    return JSON.stringify(exports.EmploymentSchemasContractType4$outboundSchema.parse(employmentSchemasContractType4));
}
exports.employmentSchemasContractType4ToJSON = employmentSchemasContractType4ToJSON;
function employmentSchemasContractType4FromJSON(jsonString) {
    return (0, schemas_js_1.safeParse)(jsonString, (x) => exports.EmploymentSchemasContractType4$inboundSchema.parse(JSON.parse(x)), `Failed to parse 'EmploymentSchemasContractType4' from JSON`);
}
exports.employmentSchemasContractType4FromJSON = employmentSchemasContractType4FromJSON;
/** @internal */
exports.EmploymentSchemasContractTypeSourceValue$inboundSchema = z.union([
    z.lazy(() => exports.EmploymentSchemasContractType4$inboundSchema),
    z.string(),
    z.number(),
    z.boolean(),
    z.array(z.any()),
]);
/** @internal */
exports.EmploymentSchemasContractTypeSourceValue$outboundSchema = z.union([
    z.lazy(() => exports.EmploymentSchemasContractType4$outboundSchema),
    z.string(),
    z.number(),
    z.boolean(),
    z.array(z.any()),
]);
/**
 * @internal
 * @deprecated This namespace will be removed in future versions. Use schemas and types that are exported directly from this module.
 */
var EmploymentSchemasContractTypeSourceValue$;
(function (EmploymentSchemasContractTypeSourceValue$) {
    /** @deprecated use `EmploymentSchemasContractTypeSourceValue$inboundSchema` instead. */
    EmploymentSchemasContractTypeSourceValue$.inboundSchema = exports.EmploymentSchemasContractTypeSourceValue$inboundSchema;
    /** @deprecated use `EmploymentSchemasContractTypeSourceValue$outboundSchema` instead. */
    EmploymentSchemasContractTypeSourceValue$.outboundSchema = exports.EmploymentSchemasContractTypeSourceValue$outboundSchema;
})(EmploymentSchemasContractTypeSourceValue$ || (exports.EmploymentSchemasContractTypeSourceValue$ = EmploymentSchemasContractTypeSourceValue$ = {}));
function employmentSchemasContractTypeSourceValueToJSON(employmentSchemasContractTypeSourceValue) {
    return JSON.stringify(exports.EmploymentSchemasContractTypeSourceValue$outboundSchema.parse(employmentSchemasContractTypeSourceValue));
}
exports.employmentSchemasContractTypeSourceValueToJSON = employmentSchemasContractTypeSourceValueToJSON;
function employmentSchemasContractTypeSourceValueFromJSON(jsonString) {
    return (0, schemas_js_1.safeParse)(jsonString, (x) => exports.EmploymentSchemasContractTypeSourceValue$inboundSchema.parse(JSON.parse(x)), `Failed to parse 'EmploymentSchemasContractTypeSourceValue' from JSON`);
}
exports.employmentSchemasContractTypeSourceValueFromJSON = employmentSchemasContractTypeSourceValueFromJSON;
/** @internal */
exports.EmploymentSchemasContractTypeValue$inboundSchema = z
    .union([
    z.nativeEnum(EmploymentSchemasContractTypeValue),
    z.string().transform(enums_js_1.catchUnrecognizedEnum),
]);
/** @internal */
exports.EmploymentSchemasContractTypeValue$outboundSchema = z.union([
    z.nativeEnum(EmploymentSchemasContractTypeValue),
    z.string().and(z.custom()),
]);
/**
 * @internal
 * @deprecated This namespace will be removed in future versions. Use schemas and types that are exported directly from this module.
 */
var EmploymentSchemasContractTypeValue$;
(function (EmploymentSchemasContractTypeValue$) {
    /** @deprecated use `EmploymentSchemasContractTypeValue$inboundSchema` instead. */
    EmploymentSchemasContractTypeValue$.inboundSchema = exports.EmploymentSchemasContractTypeValue$inboundSchema;
    /** @deprecated use `EmploymentSchemasContractTypeValue$outboundSchema` instead. */
    EmploymentSchemasContractTypeValue$.outboundSchema = exports.EmploymentSchemasContractTypeValue$outboundSchema;
})(EmploymentSchemasContractTypeValue$ || (exports.EmploymentSchemasContractTypeValue$ = EmploymentSchemasContractTypeValue$ = {}));
/** @internal */
exports.EmploymentSchemasContractType$inboundSchema = z.object({
    source_value: z.nullable(z.union([
        z.lazy(() => exports.EmploymentSchemasContractType4$inboundSchema),
        z.string(),
        z.number(),
        z.boolean(),
        z.array(z.any()),
    ])).optional(),
    value: z.nullable(exports.EmploymentSchemasContractTypeValue$inboundSchema)
        .optional(),
}).transform((v) => {
    return (0, primitives_js_1.remap)(v, {
        "source_value": "sourceValue",
    });
});
/** @internal */
exports.EmploymentSchemasContractType$outboundSchema = z.object({
    sourceValue: z.nullable(z.union([
        z.lazy(() => exports.EmploymentSchemasContractType4$outboundSchema),
        z.string(),
        z.number(),
        z.boolean(),
        z.array(z.any()),
    ])).optional(),
    value: z.nullable(exports.EmploymentSchemasContractTypeValue$outboundSchema)
        .optional(),
}).transform((v) => {
    return (0, primitives_js_1.remap)(v, {
        sourceValue: "source_value",
    });
});
/**
 * @internal
 * @deprecated This namespace will be removed in future versions. Use schemas and types that are exported directly from this module.
 */
var EmploymentSchemasContractType$;
(function (EmploymentSchemasContractType$) {
    /** @deprecated use `EmploymentSchemasContractType$inboundSchema` instead. */
    EmploymentSchemasContractType$.inboundSchema = exports.EmploymentSchemasContractType$inboundSchema;
    /** @deprecated use `EmploymentSchemasContractType$outboundSchema` instead. */
    EmploymentSchemasContractType$.outboundSchema = exports.EmploymentSchemasContractType$outboundSchema;
})(EmploymentSchemasContractType$ || (exports.EmploymentSchemasContractType$ = EmploymentSchemasContractType$ = {}));
function employmentSchemasContractTypeToJSON(employmentSchemasContractType) {
    return JSON.stringify(exports.EmploymentSchemasContractType$outboundSchema.parse(employmentSchemasContractType));
}
exports.employmentSchemasContractTypeToJSON = employmentSchemasContractTypeToJSON;
function employmentSchemasContractTypeFromJSON(jsonString) {
    return (0, schemas_js_1.safeParse)(jsonString, (x) => exports.EmploymentSchemasContractType$inboundSchema.parse(JSON.parse(x)), `Failed to parse 'EmploymentSchemasContractType' from JSON`);
}
exports.employmentSchemasContractTypeFromJSON = employmentSchemasContractTypeFromJSON;
/** @internal */
exports.ContractType$inboundSchema = z.object({
    contract_type: z.nullable(z.lazy(() => exports.EmploymentSchemasContractType$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",
    });
});
/** @internal */
exports.ContractType$outboundSchema = z.object({
    contractType: z.nullable(z.lazy(() => exports.EmploymentSchemasContractType$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",
    });
});
/**
 * @internal
 * @deprecated This namespace will be removed in future versions. Use schemas and types that are exported directly from this module.
 */
var ContractType$;
(function (ContractType$) {
    /** @deprecated use `ContractType$inboundSchema` instead. */
    ContractType$.inboundSchema = exports.ContractType$inboundSchema;
    /** @deprecated use `ContractType$outboundSchema` instead. */
    ContractType$.outboundSchema = exports.ContractType$outboundSchema;
})(ContractType$ || (exports.ContractType$ = ContractType$ = {}));
function contractTypeToJSON(contractType) {
    return JSON.stringify(exports.ContractType$outboundSchema.parse(contractType));
}
exports.contractTypeToJSON = contractTypeToJSON;
function contractTypeFromJSON(jsonString) {
    return (0, schemas_js_1.safeParse)(jsonString, (x) => exports.ContractType$inboundSchema.parse(JSON.parse(x)), `Failed to parse 'ContractType' from JSON`);
}
exports.contractTypeFromJSON = contractTypeFromJSON;
/** @internal */
exports.CostCenter$inboundSchema = z.object({
    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_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(),
    unified_custom_fields: z.nullable(z.record(z.any())).optional(),
}).transform((v) => {
    return (0, primitives_js_1.remap)(v, {
        "owner_ids": "ownerIds",
        "parent_ids": "parentIds",
        "remote_id": "remoteId",
        "remote_owner_ids": "remoteOwnerIds",
        "remote_parent_ids": "remoteParentIds",
        "unified_custom_fields": "unifiedCustomFields",
    });
});
/** @internal */
exports.CostCenter$outboundSchema = z.object({
    id: z.nullable(z.string()).optional(),
    name: z.nullable(z.string()).optional(),
    ownerIds: z.nullable(z.array(z.string())).optional(),
    parentIds: z.nullable(z.array(z.string())).optional(),
    remoteId: z.nullable(z.string()).optional(),
    remoteOwnerIds: z.nullable(z.array(z.string())).optional(),
    remoteParentIds: z.nullable(z.array(z.string())).optional(),
    unifiedCustomFields: z.nullable(z.record(z.any())).optional(),
}).transform((v) => {
    return (0, primitives_js_1.remap)(v, {
        ownerIds: "owner_ids",
        parentIds: "parent_ids",
        remoteId: "remote_id",
        remoteOwnerIds: "remote_owner_ids",
        remoteParentIds: "remote_parent_ids",
        unifiedCustomFields: "unified_custom_fields",
    });
});
/**
 * @internal
 * @deprecated This namespace will be removed in future versions. Use schemas and types that are exported directly from this module.
 */
var CostCenter$;
(function (CostCenter$) {
    /** @deprecated use `CostCenter$inboundSchema` instead. */
    CostCenter$.inboundSchema = exports.CostCenter$inboundSchema;
    /** @deprecated use `CostCenter$outboundSchema` instead. */
    CostCenter$.outboundSchema = exports.CostCenter$outboundSchema;
})(CostCenter$ || (exports.CostCenter$ = CostCenter$ = {}));
function costCenterToJSON(costCenter) {
    return JSON.stringify(exports.CostCenter$outboundSchema.parse(costCenter));
}
exports.costCenterToJSON = costCenterToJSON;
function costCenterFromJSON(jsonString) {
    return (0, schemas_js_1.safeParse)(jsonString, (x) => exports.CostCenter$inboundSchema.parse(JSON.parse(x)), `Failed to parse 'CostCenter' from JSON`);
}
exports.costCenterFromJSON = costCenterFromJSON;
/** @internal */
exports.EmploymentDepartment$inboundSchema = z.object({
    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_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(),
    unified_custom_fields: z.nullable(z.record(z.any())).optional(),
}).transform((v) => {
    return (0, primitives_js_1.remap)(v, {
        "owner_ids": "ownerIds",
        "parent_ids": "parentIds",
        "remote_id": "remoteId",
        "remote_owner_ids": "remoteOwnerIds",
        "remote_parent_ids": "remoteParentIds",
        "unified_custom_fields": "unifiedCustomFields",
    });
});
/** @internal */
exports.EmploymentDepartment$outboundSchema = z.object({
    id: z.nullable(z.string()).optional(),
    name: z.nullable(z.string()).optional(),
    ownerIds: z.nullable(z.array(z.string())).optional(),
    parentIds: z.nullable(z.array(z.string())).optional(),
    remoteId: z.nullable(z.string()).optional(),
    remoteOwnerIds: z.nullable(z.array(z.string())).optional(),
    remoteParentIds: z.nullable(z.array(z.string())).optional(),
    unifiedCustomFields: z.nullable(z.record(z.any())).optional(),
}).transform((v) => {
    return (0, primitives_js_1.remap)(v, {
        ownerIds: "owner_ids",
        parentIds: "parent_ids",
        remoteId: "remote_id",
        remoteOwnerIds: "remote_owner_ids",
        remoteParentIds: "remote_parent_ids",
        unifiedCustomFields: "unified_custom_fields",
    });
});
/**
 * @internal
 * @deprecated This namespace will be removed in future versions. Use schemas and types that are exported directly from this module.
 */
var EmploymentDepartment$;
(function (EmploymentDepartment$) {
    /** @deprecated use `EmploymentDepartment$inboundSchema` instead. */
    EmploymentDepartment$.inboundSchema = exports.EmploymentDepartment$inboundSchema;
    /** @deprecated use `EmploymentDepartment$outboundSchema` instead. */
    EmploymentDepartment$.outboundSchema = exports.EmploymentDepartment$outboundSchema;
})(EmploymentDepartment$ || (exports.EmploymentDepartment$ = EmploymentDepartment$ = {}));
function employmentDepartmentToJSON(employmentDepartment) {
    return JSON.stringify(exports.EmploymentDepartment$outboundSchema.parse(employmentDepartment));
}
exports.employmentDepartmentToJSON = employmentDepartmentToJSON;
function employmentDepartmentFromJSON(jsonString) {
    return (0, schemas_js_1.safeParse)(jsonString, (x) => exports.EmploymentDepartment$inboundSchema.parse(JSON.parse(x)), `Failed to parse 'EmploymentDepartment' from JSON`);
}
exports.employmentDepartmentFromJSON = employmentDepartmentFromJSON;
/** @internal */
exports.Division$inboundSchema = z.object({
    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_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(),
    unified_custom_fields: z.nullable(z.record(z.any())).optional(),
}).transform((v) => {
    return (0, primitives_js_1.remap)(v, {
        "owner_ids": "ownerIds",
        "parent_ids": "parentIds",
        "remote_id": "remoteId",
        "remote_owner_ids": "remoteOwnerIds",
        "remote_parent_ids": "remoteParentIds",
        "unified_custom_fields": "unifiedCustomFields",
    });
});
/** @internal */
exports.Division$outboundSchema = z.object({
    id: z.nullable(z.string()).optional(),
    name: z.nullable(z.string()).optional(),
    ownerIds: z.nullable(z.array(z.string())).optional(),
    parentIds: z.nullable(z.array(z.string())).optional(),
    remoteId: z.nullable(z.string()).optional(),
    remoteOwnerIds: z.nullable(z.array(z.string())).optional(),
    remoteParentIds: z.nullable(z.array(z.string())).optional(),
    unifiedCustomFields: z.nullable(z.record(z.any())).optional(),
}).transform((v) => {
    return (0, primitives_js_1.remap)(v, {
        ownerIds: "owner_ids",
        parentIds: "parent_ids",
        remoteId: "remote_id",
        remoteOwnerIds: "remote_owner_ids",
        remoteParentIds: "remote_parent_ids",
        unifiedCustomFields: "unified_custom_fields",
    });
});
/**
 * @internal
 * @deprecated This namespace will be removed in future versions. Use schemas and types that are exported directly from this module.
 */
var Division$;
(function (Division$) {
    /** @deprecated use `Division$inboundSchema` instead. */
    Division$.inboundSchema = exports.Division$inboundSchema;
    /** @deprecated use `Division$outboundSchema` instead. */
    Division$.outboundSchema = exports.Division$outboundSchema;
})(Division$ || (exports.Division$ = Division$ = {}));
function divisionToJSON(division) {
    return JSON.stringify(exports.Division$outboundSchema.parse(division));
}
exports.divisionToJSON = divisionToJSON;
function divisionFromJSON(jsonString) {
    return (0, schemas_js_1.safeParse)(jsonString, (x) => exports.Division$inboundSchema.parse(JSON.parse(x)), `Failed to parse 'Division' from JSON`);
}
exports.divisionFromJSON = divisionFromJSON;
/** @internal */
exports.Employment4$inboundSchema = z.object({});
/** @internal */
exports.Employment4$outboundSchema = z.object({});
/**
 * @internal
 * @deprecated This namespace will be removed in future versions. Use schemas and types that are exported directly from this module.
 */
var Employment4$;
(function (Employment4$) {
    /** @deprecated use `Employment4$inboundSchema` instead. */
    Employment4$.inboundSchema = exports.Employment4$inboundSchema;
    /** @deprecated use `Employment4$outboundSchema` instead. */
    Employment4$.outboundSchema = exports.Employment4$outboundSchema;
})(Employment4$ || (exports.Employment4$ = Employment4$ = {}));
function employment4ToJSON(employment4) {
    return JSON.stringify(exports.Employment4$outboundSchema.parse(employment4));
}
exports.employment4ToJSON = employment4ToJSON;
function employment4FromJSON(jsonString) {
    return (0, schemas_js_1.safeParse)(jsonString, (x) => exports.Employment4$inboundSchema.parse(JSON.parse(x)), `Failed to parse 'Employment4' from JSON`);
}
exports.employment4FromJSON = employment4FromJSON;
/** @internal */
exports.EmploymentSourceValue$inboundSchema = z.union([
    z.lazy(() => exports.Employment4$inboundSchema),
    z.string(),
    z.number(),
    z.boolean(),
    z.array(z.any()),
]);
/** @internal */
exports.EmploymentSourceValue$outboundSchema = z.union([
    z.lazy(() => exports.Employment4$outboundSchema),
    z.string(),
    z.number(),
    z.boolean(),
    z.array(z.any()),
]);
/**
 * @internal
 * @deprecated This namespace will be removed in future versions. Use schemas and types that are exported directly from this module.
 */
var EmploymentSourceValue$;
(function (EmploymentSourceValue$) {
    /** @deprecated use `EmploymentSourceValue$inboundSchema` instead. */
    EmploymentSourceValue$.inboundSchema = exports.EmploymentSourceValue$inboundSchema;
    /** @deprecated use `EmploymentSourceValue$outboundSchema` instead. */
    EmploymentSourceValue$.outboundSchema = exports.EmploymentSourceValue$outboundSchema;
})(EmploymentSourceValue$ || (exports.EmploymentSourceValue$ = EmploymentSourceValue$ = {}));
function employmentSourceValueToJSON(employmentSourceValue) {
    return JSON.stringify(exports.EmploymentSourceValue$outboundSchema.parse(employmentSourceValue));
}
exports.employmentSourceValueToJSON = employmentSourceValueToJSON;
function employmentSourceValueFromJSON(jsonString) {
    return (0, schemas_js_1.safeParse)(jsonString, (x) => exports.EmploymentSourceValue$inboundSchema.parse(JSON.parse(x)), `Failed to parse 'EmploymentSourceValue' from JSON`);
}
exports.employmentSourceValueFromJSON = employmentSourceValueFromJSON;
/** @internal */
exports.EmploymentValue$inboundSchema = z
    .union([
    z.nativeEnum(EmploymentValue),
    z.string().transform(enums_js_1.catchUnrecognizedEnum),
]);
/** @internal */
exports.EmploymentValue$outboundSchema = z.union([
    z.nativeEnum(EmploymentValue),
    z.string().and(z.custom()),
]);
/**
 * @internal
 * @deprecated This namespace will be removed in future versions. Use schemas and types that are exported directly from this module.
 */
var EmploymentValue$;
(function (EmploymentValue$) {
    /** @deprecated use `EmploymentValue$inboundSchema` instead. */
    EmploymentValue$.inboundSchema = exports.EmploymentValue$inboundSchema;
    /** @deprecated use `EmploymentValue$outboundSchema` instead. */
    EmploymentValue$.outboundSchema = exports.EmploymentValue$outboundSchema;
})(EmploymentValue$ || (exports.EmploymentValue$ = EmploymentValue$ = {}));
/** @internal */
exports.EmploymentEmploymentContractType$inboundSchema = z.object({
    source_value: z.nullable(z.union([
        z.lazy(() => exports.Employment4$inboundSchema),
        z.string(),
        z.number(),
        z.boolean(),
        z.array(z.any()),
    ])).optional(),
    value: z.nullable(exports.EmploymentValue$inboundSchema).optional(),
}).transform((v) => {
    return (0, primitives_js_1.remap)(v, {
        "source_value": "sourceValue",
    });
});
/** @internal */
exports.EmploymentEmploymentContractType$outboundSchema = z.object({
    sourceValue: z.nullable(z.union([
        z.lazy(() => exports.Employment4$outboundSchema),
        z.string(),
        z.number(),
        z.boolean(),
        z.array(z.any()),
    ])).optional(),
    value: z.nullable(exports.EmploymentValue$outboundSchema).optional(),
}).transform((v) => {
    return (0, primitives_js_1.remap)(v, {
        sourceValue: "source_value",
    });
});
/**
 * @internal
 * @deprecated This namespace will be removed in future versions. Use schemas and types that are exported directly from this module.
 */
var EmploymentEmploymentContractType$;
(function (EmploymentEmploymentContractType$) {
    /** @deprecated use `EmploymentEmploymentContractType$inboundSchema` instead. */
    EmploymentEmploymentContractType$.inboundSchema = exports.EmploymentEmploymentContractType$inboundSchema;
    /** @deprecated use `EmploymentEmploymentContractType$outboundSchema` instead. */
    EmploymentEmploymentContractType$.outboundSchema = exports.EmploymentEmploymentContractType$outboundSchema;
})(EmploymentEmploymentContractType$ || (exports.EmploymentEmploymentContractType$ = EmploymentEmploymentContractType$ = {}));
function employmentEmploymentContractTypeToJSON(employmentEmploymentContractType) {
    return JSON.stringify(exports.EmploymentEmploymentContractType$outboundSchema.parse(employmentEmploymentContractType));
}
exports.employmentEmploymentContractTypeToJSON = employmentEmploymentContractTypeToJSON;
function employmentEmploymentContractTypeFromJSON(jsonString) {
    return (0, schemas_js_1.safeParse)(jsonString, (x) => exports.EmploymentEmploymentContractType$inboundSchema.parse(JSON.parse(x)), `Failed to parse 'EmploymentEmploymentContractType' from JSON`);
}
exports.employmentEmploymentContractTypeFromJSON = employmentEmploymentContractTypeFromJSON;
/** @internal */
exports.EmploymentSchemas4$inboundSchema = z.object({});
/** @internal */
exports.EmploymentSchemas4$outboundSchema = z.object({});
/**
 * @internal
 * @deprecated This namespace will be removed in future versions. Use schemas and types that are exported directly from this module.
 */
var EmploymentSchemas4$;
(function (EmploymentSchemas4$) {
    /** @deprecated use `EmploymentSchemas4$inboundSchema` instead. */
    EmploymentSchemas4$.inboundSchema = exports.EmploymentSchemas4$inboundSchema;
    /** @deprecated use `EmploymentSchemas4$outboundSchema` instead. */
    EmploymentSchemas4$.outboundSchema = exports.EmploymentSchemas4$outboundSchema;
})(EmploymentSchemas4$ || (exports.EmploymentSchemas4$ = EmploymentSchemas4$ = {}));
function employmentSchemas4ToJSON(employmentSchemas4) {
    return JSON.stringify(exports.EmploymentSchemas4$outboundSchema.parse(employmentSchemas4));
}
exports.employmentSchemas4ToJSON = employmentSchemas4ToJSON;
function employmentSchemas4FromJSON(jsonString) {
    return (0, schemas_js_1.safeParse)(jsonString, (x) => exports.EmploymentSchemas4$inboundSchema.parse(JSON.parse(x)), `Failed to parse 'EmploymentSchemas4' from JSON`);
}
exports.employmentSchemas4FromJSON = employmentSchemas4FromJSON;
/** @internal */
exports.EmploymentSchemasSourceValue$inboundSchema = z.union([
    z.lazy(() => exports.EmploymentSchemas4$inboundSchema),
    z.string(),
    z.number(),
    z.boolean(),
    z.array(z.any()),
]);
/** @internal */
exports.EmploymentSchemasSourceValue$outboundSchema = z.union([
    z.lazy(() => exports.EmploymentSchemas4$outboundSchema),
    z.string(),
    z.number(),
    z.boolean(),
    z.array(z.any()),
]);
/**
 * @internal
 * @deprecated This namespace will be removed in future versions. Use schemas and types that are exported directly from this module.
 */
var EmploymentSchemasSourceValue$;
(function (EmploymentSchemasSourceValue$) {
    /** @deprecated use `EmploymentSchemasSourceValue$inboundSchema` instead. */
    EmploymentSchemasSourceValue$.inboundSchema = exports.EmploymentSchemasSourceValue$inboundSchema;
    /** @deprecated use `EmploymentSchemasSourceValue$outboundSchema` instead. */
    EmploymentSchemasSourceValue$.outboundSchema = exports.EmploymentSchemasSourceValue$outboundSchema;
})(EmploymentSchemasSourceValue$ || (exports.EmploymentSchemasSourceValue$ = EmploymentSchemasSourceValue$ = {}));
function employmentSchemasSourceValueToJSON(employmentSchemasSourceValue) {
    return JSON.stringify(exports.EmploymentSchemasSourceValue$outboundSchema.parse(employmentSchemasSourceValue));
}
exports.employmentSchemasSourceValueToJSON = employmentSchemasSourceValueToJSON;
function employmentSchemasSourceValueFromJSON(jsonString) {
    return (0, schemas_js_1.safeParse)(jsonString, (x) => exports.EmploymentSchemasSourceValue$inboundSchema.parse(JSON.parse(x)), `Failed to parse 'EmploymentSchemasSourceValue' from JSON`);
}
exports.employmentSchemasSourceValueFromJSON = employmentSchemasSourceValueFromJSON;
/** @internal */
exports.EmploymentSchemasValue$inboundSchema = z
    .union([
    z.nativeEnum(EmploymentSchemasValue),
    z.string().transform(enums_js_1.catchUnrecognizedEnum),
]);
/** @internal */
exports.EmploymentSchemasValue$outboundSchema = z.union([
    z.nativeEnum(EmploymentSchemasValue),
    z.string().and(z.custom()),
]);
/**
 * @internal
 * @deprecated This namespace will be removed in future versions. Use schemas and types that are exported directly from this module.
 */
var EmploymentSchemasValue$;
(function (EmploymentSchemasValue$) {
    /** @deprecated use `EmploymentSchemasValue$inboundSchema` instead. */
    EmploymentSchemasValue$.inboundSchema = exports.EmploymentSchemasValue$inboundSchema;
    /** @deprecated use `EmploymentSchemasValue$outboundSchema` instead. */
    EmploymentSchemasValue$.outboundSchema = exports.EmploymentSchemasValue$outboundSchema;
})(EmploymentSchemasValue$ || (exports.EmploymentSchemasValue$ = EmploymentSchemasValue$ = {}));
/** @internal */
exports.EmploymentEmploymentType$inboundSchema = z.object({
    source_value: z.nullable(z.union([
        z.lazy(() => exports.EmploymentSchemas4$inboundSchema),
        z.string(),
        z.number(),
        z.boolean(),
        z.array(z.any()),
    ])).optional(),
    value: z.nullable(exports.EmploymentSchemasValue$inboundSchema).optional(),
}).transform((v) => {
    return (0, primitives_js_1.remap)(v, {
        "source_value": "sourceValue",
    });
});
/** @internal */
exports.EmploymentEmploymentType$outboundSchema = z.object({
    sourceValue: z.nullable(z.union([
        z.lazy(() => exports.EmploymentSchemas4$outboundSchema),
        z.string(),
        z.number(),
        z.boolean(),
        z.array(z.any()),
    ])).optional(),
    value: z.nullable(exports.EmploymentSchemasValue$outboundSchema).optional(),
}).transform((v) => {
    return (0, primitives_js_1.remap)(v, {
        sourceValue: "source_value",
    });
});
/**
 * @internal
 * @deprecated This namespace will be removed in future versions. Use schemas and types that are exported directly from this module.
 */
var EmploymentEmploymentType$;
(function (EmploymentEmploymentType$) {
    /** @deprecated use `EmploymentEmploymentType$inboundSchema` instead. */
    EmploymentEmploymentType$.inboundSchema = exports.EmploymentEmploymentType$inboundSchema;
    /** @deprecated use `EmploymentEmploymentType$outboundSchema` instead. */
    EmploymentEmploymentType$.outboundSchema = exports.EmploymentEmploymentType$outboundSchema;
})(EmploymentEmploymentType$ || (exports.EmploymentEmploymentType$ = EmploymentEmploymentType$ = {}));
function employmentEmploymentTypeToJSON(employmentEmploymentType) {
    return JSON.stringify(exports.EmploymentEmploymentType$outboundSchema.parse(employmentEmploymentType));
}
exports.employmentEmploymentTypeToJSON = employmentEmploymentTypeToJSON;
function employmentEmploymentTypeFromJSON(jsonString) {
    return (0, schemas_js_1.safeParse)(jsonString, (x) => exports.EmploymentEmploymentType$inboundSchema.parse(JSON.parse(x)), `Failed to parse 'EmploymentEmploymentType' from JSON`);
}
exports.employmentEmploymentTypeFromJSON = employmentEmploymentTypeFromJSON;
/** @internal */
exports.Description$inboundSchema = z.object({
    text: z.nullable(z.string()).optional(),
});
/** @internal */
exports.Description$outboundSchema = z.object({
    text: 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 Description$;
(function (Description$) {
    /** @deprecated use `Description$inboundSchema` instead. */
    Description$.inboundSchema = exports.Description$inboundSchema;
    /** @deprecated use `Description$outboundSchema` instead. */
    Description$.outboundSchema = exports.Description$outboundSchema;
})(Description$ || (exports.Description$ = Description$ = {}));
function descriptionToJSON(description) {
    return JSON.stringify(exports.Description$outboundSchema.parse(description));
}
exports.descriptionToJSON = descriptionToJSON;
function descriptionFromJSON(jsonString) {
    return (0, schemas_js_1.safeParse)(jsonString, (x) => exports.Description$inboundSchema.parse(JSON.parse(x)), `Failed to parse 'Description' from JSON`);
}
exports.descriptionFromJSON = descriptionFromJSON;
/** @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",
    });
});
/** @internal */
exports.EmploymentJob$outboundSchema = z.object({
    description: z.nullable(z.lazy(() => exports.Description$outboundSchema)).optional(),
    id: z.nullable(z.string()).optional(),
    ownerId: z.nullable(z.string()).optional(),
    parentId: z.nullable(z.string()).optional(),
    remoteId: z.nullable(z.string()).optional(),
    title: z.nullable(z.string()).optional(),
}).transform((v) => {
    return (0, primitives_js_1.remap)(v, {
        ownerId: "owner_id",
        parentId: "parent_id",
        remoteId: "remote_id",
    });
});
/**
 * @internal
 * @deprecated This namespace will be removed in future versions. Use schemas and types that are exported directly from this module.
 */
var EmploymentJob$;
(function (EmploymentJob$) {
    /** @deprecated use `EmploymentJob$inboundSchema` instead. */
    EmploymentJob$.inboundSchema = exports.EmploymentJob$inboundSchema;
    /** @deprecated use `EmploymentJob$outboundSchema` instead. */
    EmploymentJob$.outboundSchema = exports.EmploymentJob$outboundSchema;
})(EmploymentJob$ || (exports.EmploymentJob$ = EmploymentJob$ = {}));
function employmentJobToJSON(employmentJob) {
    return JSON.stringify(exports.EmploymentJob$outboundSchema.parse(employmentJob));
}
exports.employmentJobToJSON = employmentJobToJSON;
function employmentJobFromJSON(jsonString) {
    return (0, schemas_js_1.safeParse)(jsonString, (x) => exports.EmploymentJob$inboundSchema.parse(JSON.parse(x)), `Failed to parse 'EmploymentJob' from JSON`);
}
exports.employmentJobFromJSON = employmentJobFromJSON;
/** @internal */
exports.EmploymentSchemasPayFrequency4$inboundSchema = z.object({});
/** @internal */
exports.EmploymentSchemasPayFrequency4$outboundSchema = z.object({});
/**
 * @internal
 * @deprecated This namespace will be removed in future versions. Use schemas and types that are exported directly from this module.
 */
var EmploymentSchemasPayFrequency4$;
(function (EmploymentSchemasPayFrequency4$) {
    /** @deprecated use `EmploymentSchemasPayFrequency4$inboundSchema` instead. */
    EmploymentSchemasPayFrequency4$.inboundSchema = exports.EmploymentSchemasPayFrequency4$inboundSchema;
    /** @deprecated use `EmploymentSchemasPayFrequency4$outboundSchema` instead. */
    EmploymentSchemasPayFrequency4$.outboundSchema = exports.EmploymentSchemasPayFrequency4$outboundSchema;
})(EmploymentSchemasPayFrequency4$ || (exports.EmploymentSchemasPayFrequency4$ = EmploymentSchemasPayFrequency4$ = {}));
function employmentSchemasPayFrequency4ToJSON(employmentSchemasPayFrequency4) {
    return JSON.stringify(exports.EmploymentSchemasPayFrequency4$outboundSchema.parse(employmentSchemasPayFrequency4));
}
exports.employmentSchemasPayFrequency4ToJSON = employmentSchemasPayFrequency4ToJSON;
function employmentSchemasPayFrequency4FromJSON(jsonString) {
    return (0, schemas_js_1.safeParse)(jsonString, (x) => exports.EmploymentSchemasPayFrequency4$inboundSchema.parse(JSON.parse(x)), `Failed to parse 'EmploymentSchemasPayFrequency4' from JSON`);
}
exports.employmentSchemasPayFrequency4FromJSON = employmentSchemasPayFrequency4FromJSON;
/** @internal */
exports.EmploymentSchemasPayFrequencySourceValue$inboundSchema = z.union([
    z.lazy(() => exports.EmploymentSchemasPayFrequency4$inboundSchema),
    z.string(),
    z.number(),
    z.boolean(),
    z.array(z.any()),
]);
/** @internal */
exports.EmploymentSchemasPayFrequencySourceValue$outboundSchema = z.union([
    z.lazy(() => exports.EmploymentSchemasPayFrequency4$outboundSchema),
    z.string(),
    z.number(),
    z.boolean(),
    z.array(z.any()),
]);
/**
 * @internal
 * @deprecated This namespace will be removed in future versions. Use schemas and types that are exported directly from this module.
 */
var EmploymentSchemasPayFrequencySourceValue$;
(function (EmploymentSchemasPayFrequencySourceValue$) {
    /** @deprecated use `EmploymentSchemasPayFrequencySourceValue$inboundSchema` instead. */
    EmploymentSchemasPayFrequencySourceValue$.inboundSchema = exports.EmploymentSchemasPayFrequencySourceValue$inboundSchema;
    /** @deprecated use `EmploymentSchemasPayFrequencySourceValue$outboundSchema` instead. */
    EmploymentSchemasPayFrequencySourceValue$.outboundSchema = exports.EmploymentSchemasPayFrequencySourceValue$outboundSchema;
})(EmploymentSchemasPayFrequencySourceValue$ || (exports.EmploymentSchemasPayFrequencySourceValue$ = EmploymentSchemasPayFrequencySourceValue$ = {}));
function employmentSchemasPayFrequencySourceValueToJSON(employmentSchemasPayFrequencySourceValue) {
    return JSON.stringify(exports.EmploymentSchemasPayFrequencySourceValue$outboundSchema.parse(employmentSchemasPayFrequencySourceValue));
}
exports.employmentSchemasPayFrequencySourceValueToJSON = employmentSchemasPayFrequencySourceValueToJSON;
function employmentSchemasPayFrequencySourceValueFromJSON(jsonString) {
    return (0, schemas_js_1.safeParse)(jsonString, (x) => exports.EmploymentSchemasPayFrequencySourceValue$inboundSchema.parse(JSON.parse(x)), `Failed to parse 'EmploymentSchemasPayFrequencySourceValue' from JSON`);
}
exports.employmentSchemasPayFrequencySourceValueFromJSON = employmentSchemasPayFrequencySourceValueFromJSON;
/** @internal */
exports.EmploymentSchemasPayFrequencyValue$inboundSchema = z
    .union([
    z.nativeEnum(EmploymentSchemasPayFrequencyValue),
    z.string().transform(enums_js_1.catchUnrecognizedEnum),
]);
/** @internal */
exports.EmploymentSchemasPayFrequencyValue$outboundSchema = z.union([
    z.nativeEnum(EmploymentSchemasPayFrequencyValue),
    z.string().and(z.custom()),
]);
/**
 * @internal
 * @deprecated This namespace will be removed in future versions. Use schemas and types that are exported directly from this module.
 */
var EmploymentSchemasPayFrequencyValue$;
(function (EmploymentSchemasPayFrequencyValue$) {
    /** @deprecated use `EmploymentSchemasPayFrequencyValue$inboundSchema` instead. */
    EmploymentSchemasPayFrequencyValue$.inboundSchema = exports.EmploymentSchemasPayFrequencyValue$inboundSchema;
    /** @deprecated use `EmploymentSchemasPayFrequencyValue$outboundSchema` instead. */
    EmploymentSchemasPayFrequencyValue$.outboundSchema = exports.EmploymentSchemasPayFrequencyValue$outboundSchema;
})(EmploymentSchemasPayFrequencyValue$ || (exports.EmploymentSchemasPayFrequencyValue$ = EmploymentSchemasPayFrequencyValue$ = {}));
/** @internal */
exports.EmploymentPayFrequency$inboundSchema = z.object({
    source_value: z.nullable(z.union([
        z.lazy(() => exports.EmploymentSchemasPayFrequency4$inboundSchema),
        z.string(),
        z.number(),
        z.boolean(),
        z.array(z.any()),
    ])).optional(),
    value: z.nullable(exports.EmploymentSchemasPayFrequencyValue$inboundSchema)
        .optional(),
}).transform((v) => {
    return (0, primitives_js_1.remap)(v, {
        "source_value": "sourceValue",
    });
});
/** @internal */
exports.EmploymentPayFrequency$outboundSchema = z.object({
    sourceValue: z.nullable(z.union([
        z.lazy(() => exports.EmploymentSchemasPayFrequency4$outboundSchema),
        z.string(),
        z.number(),
        z.boolean(),
        z.array(z.any()),
    ])).optional(),
    value: z.nullable(exports.EmploymentSchemasPayFrequencyValue$outboundSchema)
        .optional(),
}).transform((v) => {
    return (0, primitives_js_1.remap)(v, {
        sourceValue: "source_value",
    });
});
/**
 * @internal
 * @deprecated This namespace will be removed in future versions. Use schemas and types that are exported directly from this module.
 */
var EmploymentPayFrequency$;
(function (EmploymentPayFrequency$) {
    /** @deprecated use `EmploymentPayFrequency$inboundSchema` instead. */
    EmploymentPayFrequency$.inboundSchema = exports.EmploymentPayFrequency$inboundSchema;
    /** @deprecated use `EmploymentPayFrequency$outboundSchema` instead. */
    EmploymentPayFrequency$.outboundSchema = exports.EmploymentPayFrequency$outboundSchema;
})(EmploymentPayFrequency$ || (exports.EmploymentPayFrequency$ = EmploymentPayFrequency$ = {}));
function employmentPayFrequencyToJSON(employmentPayFrequency) {
    return JSON.stringify(exports.EmploymentPayFrequency$outboundSchema.parse(employmentPayFrequency));
}
exports.employmentPayFrequencyToJSON = employmentPayFrequencyToJSON;
function employmentPayFrequencyFromJSON(jsonString) {
    return (0, schemas_js_1.safeParse)(jsonString, (x) => exports.EmploymentPayFrequency$inboundSchema.parse(JSON.parse(x)), `Failed to parse 'EmploymentPayFrequency' from JSON`);
}
exports.employmentPayFrequencyFromJSON = employmentPayFrequencyFromJSON;
/** @internal */
exports.EmploymentSchemasPayPeriod4$inboundSchema = z.object({});
/** @internal */
exports.EmploymentSchemasPayPeriod4$outboundSchema = z.object({});
/**
 * @internal
 * @deprecated This namespace will be removed in future versions. Use schemas and types that are exported directly from this module.
 */
var EmploymentSchemasPayPeriod4$;
(function (EmploymentSchemasPayPeriod4$) {
    /** @deprecated use `EmploymentSchemasPayPeriod4$inboundSchema` instead. */
    EmploymentSchemasPayPeriod4$.inboundSchema = exports.EmploymentSchemasPayPeriod4$inboundSchema;
    /** @deprecated use `EmploymentSchemasPayPeriod4$outboundSchema` instead. */
    EmploymentSchemasPayPeriod4$.outboundSchema = exports.EmploymentSchemasPayPeriod4$outboundSchema;
})(EmploymentSchemasPayPeriod4$ || (exports.EmploymentSchemasPayPeriod4$ = EmploymentSchemasPayPeriod4$ = {}));
function employmentSchemasPayPeriod4ToJSON(employmentSchemasPayPeriod4) {
    return JSON.stringify(exports.EmploymentSchemasPayPeriod4$outboundSchema.parse(employmentSchemasPayPeriod4));
}
exports.employmentSchemasPayPeriod4ToJSON = employmentSchemasPayPeriod4ToJSON;
function employmentSchemasPayPeriod4FromJSON(jsonString) {
    return (0, schemas_js_1.safeParse)(jsonString, (x) => exports.EmploymentSchemasPayPeriod4$inboundSchema.parse(JSON.parse(x)), `Failed to parse 'EmploymentSchemasPayPeriod4' from JSON`);
}
exports.employmentSchemasPayPeriod4FromJSON = employmentSchemasPayPeriod4FromJSON;
/** @internal */
exports.EmploymentSchemasPayPeriodSourceValue$inboundSchema = z.union([
    z.lazy(() => exports.EmploymentSchemasPayPeriod4$inboundSchema),
    z.string(),
    z.number(),
    z.boolean(),
    z.array(z.any()),
]);
/** @internal */
exports.EmploymentSchemasPayPeriodSourceValue$outboundSchema = z.union([
    z.lazy(() => exports.EmploymentSchemasPayPeriod4$outboundSchema),
    z.string(),
    z.number(),
    z.boolean(),
    z.array(z.any()),
]);
/**
 * @internal
 * @deprecated This namespace will be removed in future versions. Use schemas and types that are exported directly from this module.
 */
var EmploymentSchemasPayPeriodSourceValue$;
(function (EmploymentSchemasPayPeriodSourceValue$) {
    /** @deprecated use `EmploymentSchemasPayPeriodSourceValue$inboundSchema` instead. */
    EmploymentSchemasPayPeriodSourceValue$.inboundSchema = exports.EmploymentSchemasPayPeriodSourceValue$inboundSchema;
    /** @deprecated use `EmploymentSchemasPayPeriodSourceValue$outboundSchema` instead. */
    EmploymentSchemasPayPeriodSourceValue$.outboundSchema = exports.EmploymentSchemasPayPeriodSourceValue$outboundSchema;
})(EmploymentSchemasPayPeriodSourceValue$ || (exports.EmploymentSchemasPayPeriodSourceValue$ = EmploymentSchemasPayPeriodSourceValue$ = {}));
function employmentSchemasPayPeriodSourceValueToJSON(employmentSchemasPayPeriodSourceValue) {
    return JSON.stringify(exports.EmploymentSchemasPayPeriodSourceValue$outboundSchema.parse(employmentSchemasPayPeriodSourceValue));
}
exports.employmentSchemasPayPeriodSourceValueToJSON = employmentSchemasPayPeriodSourceValueToJSON;
function employmentSchemasPayPeriodSourceValueFromJSON(jsonString) {
    return (0, schemas_js_1.safeParse)(jsonString, (x) => exports.EmploymentSchemasPayPeriodSourceValue$inboundSchema.parse(JSON.parse(x)), `Failed to parse 'EmploymentSchemasPayPeriodSourceValue' from JSON`);
}
exports.employmentSchemasPayPeriodSourceValueFromJSON = employmentSchemasPayPeriodSourceValueFromJSON;
/** @internal */
exports.EmploymentSchemasPayPeriodValue$inboundSchema = z
    .union([
    z.nativeEnum(EmploymentSchemasPayPeriodValue),
    z.string().transform(enums_js_1.catchUnrecognizedEnum),
]);
/** @internal */
exports.EmploymentSchemasPayPeriodValue$outboundSchema = z.union([
    z.nativeEnum(EmploymentSchemasPayPeriodValue),
    z.string().and(z.custom()),
]);
/**
 * @internal
 * @deprecated This namespace will be removed in future versions. Use schemas and types that are exported directly from this module.
 */
var EmploymentSchemasPayPeriodValue$;
(function (EmploymentSchemasPayPeriodValue$) {
    /** @deprecated use `EmploymentSchemasPayPeriodValue$inboundSchema` instead. */
    EmploymentSchemasPayPeriodValue$.inboundSchema = exports.EmploymentSchemasPayPeriodValue$inboundSchema;
    /** @deprecated use `EmploymentSchemasPayPeriodValue$outboundSchema` instead. */
    EmploymentSchemasPayPeriodValue$.outboundSchema = exports.EmploymentSchemasPayPeriodValue$outboundSchema;
})(EmploymentSchemasPayPeriodValue$ || (exports.EmploymentSchemasPayPeriodValue$ = EmploymentSchemasPayPeriodValue$ = {}));
/** @internal */
exports.EmploymentPayPeriod$inboundSchema = z.object({
    source_value: z.nullable(z.union([
        z.lazy(() => exports.EmploymentSchemasPayPeriod4$inboundSchema),
        z.string(),
        z.number(),
        z.boolean(),
        z.array(z.any()),
    ])).optional(),
    value: z.nullable(exports.EmploymentSchemasPayPeriodValue$inboundSchema).optional(),
}).transform((v) => {
    return (0, primitives_js_1.remap)(v, {
        "source_value": "sourceValue",
    });
});
/** @internal */
exports.EmploymentPayPeriod$outboundSchema = z.object({
    sourceValue: z.nullable(z.union([
        z.lazy(() => exports.EmploymentSchemasPayPeriod4$outboundSchema),
        z.string(),
        z.number(),
        z.boolean(),
        z.array(z.any()),
    ])).optional(),
    value: z.nullable(exports.EmploymentSchemasPayPeriodValue$outboundSchema).optional(),
}).transform((v) => {
    return (0, primitives_js_1.remap)(v, {
        sourceValue: "source_value",
    });
});
/**
 * @internal
 * @deprecated This namespace will be removed in future versions. Use schemas and types that are exported directly from this module.
 */
var EmploymentPayPeriod$;
(function (EmploymentPayPeriod$) {
    /** @deprecated use `EmploymentPayPeriod$inboundSchema` instead. */
    EmploymentPayPeriod$.inboundSchema = exports.EmploymentPayPeriod$inboundSchema;
    /** @deprecated use `EmploymentPayPeriod$outboundSchema` instead. */
    EmploymentPayPeriod$.outboundSchema = exports.EmploymentPayPeriod$outboundSchema;
})(EmploymentPayPeriod$ || (exports.EmploymentPayPeriod$ = EmploymentPayPeriod$ = {}));
function employmentPayPeriodToJSON(employmentPayPeriod) {
    return JSON.stringify(exports.EmploymentPayPeriod$outboundSchema.parse(employmentPayPeriod));
}
exports.employmentPayPeriodToJSON = employmentPayPeriodToJSON;
function employmentPayPeriodFromJSON(jsonString) {
    return (0, schemas_js_1.safeParse)(jsonString, (x) => exports.EmploymentPayPeriod$inboundSchema.parse(JSON.parse(x)), `Failed to parse 'EmploymentPayPeriod' from JSON`);
}
exports.employmentPayPeriodFromJSON = employmentPayPeriodFromJSON;
/** @internal */
exports.EmploymentSchemasType4$inboundSchema = z.object({});
/** @internal */
exports.EmploymentSchemasType4$outboundSchema = z.object({});
/**
 * @internal
 * @deprecated This namespace will be removed in future versions. Use schemas and types that are exported directly from this module.
 */
var EmploymentSchemasType4$;
(function (EmploymentSchemasType4$) {
    /** @deprecated use `EmploymentSchemasType4$inboundSchema` instead. */
    EmploymentSchemasType4$.inboundSchema = exports.EmploymentSchemasType4$inboundSchema;
    /** @deprecated use `EmploymentSchemasType4$outboundSchema` instead. */
    EmploymentSchemasType4$.outboundSchema = exports.EmploymentSchemasType4$outboundSchema;
})(EmploymentSchemasType4$ || (exports.EmploymentSchemasType4$ = EmploymentSchemasType4$ = {}));
function employmentSchemasType4ToJSON(employmentSchemasType4) {
    return JSON.stringify(exports.EmploymentSchemasType4$outboundSchema.parse(employmentSchemasType4));
}
exports.employmentSchemasType4ToJSON = employmentSchemasType4ToJSON;
function employmentSchemasType4FromJSON(jsonString) {
    return (0, schemas_js_1.safeParse)(jsonString, (x) => exports.EmploymentSchemasType4$inboundSchema.parse(JSON.parse(x)), `Failed to parse 'EmploymentSchemasType4' from JSON`);
}
exports.employmentSchemasType4FromJSON = employmentSchemasType4FromJSON;
/** @internal */
exports.EmploymentSchemasTypeSourceValue$inboundSchema = z.union([
    z.lazy(() => exports.EmploymentSchemasType4$inboundSchema),
    z.string(),
    z.number(),
    z.boolean(),
    z.array(z.any()),
]);
/** @internal */
exports.EmploymentSchemasTypeSourceValue$outboundSchema = z.union([
    z.lazy(() => exports.EmploymentSchemasType4$outboundSchema),
    z.string(),
    z.number(),
    z.boolean(),
    z.array(z.any()),
]);
/**
 * @internal
 * @deprecated This namespace will be removed in future versions. Use schemas and types that are exported directly from this module.
 */
var EmploymentSchemasTypeSourceValue$;
(function (EmploymentSchemasTypeSourceValue$) {
    /** @deprecated use `EmploymentSchemasTypeSourceValue$inboundSchema` instead. */
    EmploymentSchemasTypeSourceValue$.inboundSchema = exports.EmploymentSchemasTypeSourceValue$inboundSchema;
    /** @deprecated use `EmploymentSchemasTypeSourceValue$outboundSchema` instead. */
    EmploymentSchemasTypeSourceValue$.outboundSchema = exports.EmploymentSchemasTypeSourceValue$outboundSchema;
})(EmploymentSchemasTypeSourceValue$ || (exports.EmploymentSchemasTypeSourceValue$ = EmploymentSchemasTypeSourceValue$ = {}));
function employmentSchemasTypeSourceValueToJSON(employmentSchemasTypeSourceValue) {
    return JSON.stringify(exports.EmploymentSchemasTypeSourceValue$outboundSchema.parse(employmentSchemasTypeSourceValue));
}
exports.employmentSchemasTypeSourceValueToJSON = employmentSchemasTypeSourceValueToJSON;
function employmentSchemasTypeSourceValueFromJSON(jsonString) {
    return (0, schemas_js_1.safeParse)(jsonString, (x) => exports.EmploymentSchemasTypeSourceValue$inboundSchema.parse(JSON.parse(x)), `Failed to parse 'EmploymentSchemasTypeSourceValue' from JSON`);
}
exports.employmentSchemasTypeSourceValueFromJSON = employmentSchemasTypeSourceValueFromJSON;
/** @internal */
exports.EmploymentSchemasTypeValue$inboundSchema = z
    .union([
    z.nativeEnum(EmploymentSchemasTypeValue),
    z.string().transform(enums_js_1.catchUnrecognizedEnum),
]);
/** @internal */
exports.EmploymentSchemasTypeValue$outboundSchema = z.union([
    z.nativeEnum(EmploymentSchemasTypeValue),
    z.string().and(z.custom()),
]);
/**
 * @internal
 * @deprecated This namespace will be removed in future versions. Use schemas and types that are exported directly from this module.
 */
var EmploymentSchemasTypeValue$;
(function (EmploymentSchemasTypeValue$) {
    /** @deprecated use `EmploymentSchemasTypeValue$inboundSchema` instead. */
    EmploymentSchemasTypeValue$.inboundSchema = exports.EmploymentSchemasTypeValue$inboundSchema;
    /** @deprecated use `EmploymentSchemasTypeValue$outboundSchema` instead. */
    EmploymentSchemasTypeValue$.outboundSchema = exports.EmploymentSchemasTypeValue$outboundSchema;
})(EmploymentSchemasTypeValue$ || (exports.EmploymentSchemasTypeValue$ = EmploymentSchemasTypeValue$ = {}));
/** @internal */
exports.EmploymentSchemasTypeType$inboundSchema = z.object({
    source_value: z.nullable(z.union([
        z.lazy(() => exports.EmploymentSchemasType4$inboundSchema),
        z.string(),
        z.number(),
        z.boolean(),
        z.array(z.any()),
    ])).optional(),
    value: z.nullable(exports.EmploymentSchemasTypeValue$inboundSchema).optional(),
}).transform((v) => {
    return (0, primitives_js_1.remap)(v, {
        "source_value": "sourceValue",
    });
});
/** @internal */
exports.EmploymentSchemasTypeType$outboundSchema = z.object({
    sourceValue: z.nullable(z.union([
        z.lazy(() => exports.EmploymentSchemasType4$outboundSchema),
        z.string(),
        z.number(),
        z.boolean(),
        z.array(z.any()),
    ])).optional(),
    value: z.nullable(exports.EmploymentSchemasTypeValue$outboundSchema).optional(),
}).transform((v) => {
    return (0, primitives_js_1.remap)(v, {
        sourceValue: "source_value",
    });
});
/**
 * @internal
 * @deprecated This namespace will be removed in future versions. Use schemas and types that are exported directly from this module.
 */
var EmploymentSchemasTypeType$;
(function (EmploymentSchemasTypeType$) {
    /** @deprecated use `EmploymentSchemasTypeType$inboundSchema` instead. */
    EmploymentSchemasTypeType$.inboundSchema = exports.EmploymentSchemasTypeType$inboundSchema;
    /** @deprecated use `EmploymentSchemasTypeType$outboundSchema` instead. */
    EmploymentSchemasTypeType$.outboundSchema = exports.EmploymentSchemasTypeType$outboundSchema;
})(EmploymentSchemasTypeType$ || (exports.EmploymentSchemasTypeType$ = EmploymentSchemasTypeType$ = {}));
function employmentSchemasTypeTypeToJSON(employmentSchemasTypeType) {
    return JSON.stringify(exports.EmploymentSchemasTypeType$outboundSchema.parse(employmentSchemasTypeType));
}
exports.employmentSchemasTypeTypeToJSON = employmentSchemasTypeTypeToJSON;
function employmentSchemasTypeTypeFromJSON(jsonString) {
    return (0, schemas_js_1.safeParse)(jsonString, (x) => exports.EmploymentSchemasTypeType$inboundSchema.parse(JSON.parse(x)), `Failed to parse 'EmploymentSchemasTypeType' from JSON`);
}
exports.employmentSchemasTypeTypeFromJSON = employmentSchemasTypeTypeFromJSON;
/** @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",
    });
});
/** @internal */
exports.EmploymentSchemasType$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.EmploymentSchemasTypeType$outboundSchema))
        .optional(),
}).transform((v) => {
    return (0, primitives_js_1.remap)(v, {
        remoteId: "remote_id",
    });
});
/**
 * @internal
 * @deprecated This namespace will be removed in future versions. Use schemas and types that are exported directly from this module.
 */
var EmploymentSchemasType$;
(function (EmploymentSchemasType$) {
    /** @deprecated use `EmploymentSchemasType$inboundSchema` instead. */
    EmploymentSchemasType$.inboundSchema = exports.EmploymentSchemasType$inboundSchema;
    /** @deprecated use `EmploymentSchemasType$outboundSchema` instead. */
    EmploymentSchemasType$.outboundSchema = exports.EmploymentSchemasType$outboundSchema;
})(EmploymentSchemasType$ || (exports.EmploymentSchemasType$ = EmploymentSchemasType$ = {}));
function employmentSchemasTypeToJSON(employmentSchemasType) {
    return JSON.stringify(exports.EmploymentSchemasType$outboundSchema.parse(employmentSchemasType));
}
exports.employmentSchemasTypeToJSON = employmentSchemasTypeToJSON;
function employmentSchemasTypeFromJSON(jsonString) {
    return (0, schemas_js_1.safeParse)(jsonString, (x) => exports.EmploymentSchemasType$inboundSchema.parse(JSON.parse(x)), `Failed to parse 'EmploymentSchemasType' from JSON`);
}
exports.employmentSchemasTypeFromJSON = employmentSchemasTypeFromJSON;
/** @internal */
exports.Employment$inboundSchema = z.object({
    active: z.nullable(z.boolean()).optional(),
    contract_type: z.nullable(z.lazy(() => exports.ContractType$inboundSchema))
        .optional(),
    cost_center: z.nullable(z.lazy(() => exports.CostCenter$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(),
    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(),
    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(),
    time_worked: z.nullable(z.string()).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(),
}).transform((v) => {
    return (0, primitives_js_1.remap)(v, {
        "contract_type": "contractType",
        "cost_center": "costCenter",
        "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",
        "remote_employee_id": "remoteEmployeeId",
        "remote_id": "remoteId",
        "start_date": "startDate",
        "time_worked": "timeWorked",
        "unified_custom_fields": "unifiedCustomFields",
        "updated_at": "updatedAt",
    });
});
/** @internal */
exports.Employment$outboundSchema = z.object({
    active: z.nullable(z.boolean()).optional(),
    contractType: z.nullable(z.lazy(() => exports.ContractType$outboundSchema))
        .optional(),
    costCenter: z.nullable(z.lazy(() => exports.CostCenter$outboundSchema)).optional(),
    createdAt: z.nullable(z.date().transform(v => v.toISOString())).optional(),
    department: z.nullable(z.lazy(() => exports.EmploymentDepartment$outboundSchema))
        .optional(),
    division: z.nullable(z.lazy(() => exports.Division$outboundSchema)).optional(),
    effectiveDate: z.nullable(z.date().transform(v => v.toISOString()))
        .optional(),
    employeeId: z.nullable(z.string()).optional(),
    employmentContractType: z.nullable(z.lazy(() => exports.EmploymentEmploymentContractType$outboundSchema)).optional(),
    employmentType: z.nullable(z.lazy(() => exports.EmploymentEmploymentType$outboundSchema)).optional(),
    endDate: z.nullable(z.date().transform(v => v.toISOString())).optional(),
    id: z.nullable(z.string()).optional(),
    job: z.nullable(z.lazy(() => exports.EmploymentJob$outboundSchema)).optional(),
    jobTitle: z.nullable(z.string()).optional(),
    manager: z.nullable(z.array(employmentmanagerapimodel_js_1.EmploymentManagerApiModel$outboundSchema))
        .optional(),
    payCurrency: z.nullable(z.string()).optional(),
    payFrequency: z.nullable(z.lazy(() => exports.EmploymentPayFrequency$outboundSchema))
        .optional(),
    payPeriod: z.nullable(z.lazy(() => exports.EmploymentPayPeriod$outboundSchema))
        .optional(),
    payRate: z.nullable(z.string()).optional(),
    remoteEmployeeId: z.nullable(z.string()).optional(),
    remoteId: z.nullable(z.string()).optional(),
    startDate: z.nullable(z.date().transform(v => v.toISOString())).optional(),
    timeWorked: z.nullable(z.string()).optional(),
    type: z.nullable(z.lazy(() => exports.EmploymentSchemasType$outboundSchema))
        .optional(),
    unifiedCustomFields: z.nullable(z.record(z.any())).optional(),
    updatedAt: z.nullable(z.date().transform(v => v.toISOString())).optional(),
}).transform((v) => {
    return (0, primitives_js_1.remap)(v, {
        contractType: "contract_type",
        costCenter: "cost_center",
        createdAt: "created_at",
        effectiveDate: "effective_date",
        employeeId: "employee_id",
        employmentContractType: "employment_contract_type",
        employmentType: "employment_type",
        endDate: "end_date",
        jobTitle: "job_title",
        payCurrency: "pay_currency",
        payFrequency: "pay_frequency",
        payPeriod: "pay_period",
        payRate: "pay_rate",
        remoteEmployeeId: "remote_employee_id",
        remoteId: "remote_id",
        startDate: "start_date",
        timeWorked: "time_worked",
        unifiedCustomFields: "unified_custom_fields",
        updatedAt: "updated_at",
    });
});
/**
 * @internal
 * @deprecated This namespace will be removed in future versions. Use schemas and types that are exported directly from this module.
 */
var Employment$;
(function (Employment$) {
    /** @deprecated use `Employment$inboundSchema` instead. */
    Employment$.inboundSchema = exports.Employment$inboundSchema;
    /** @deprecated use `Employment$outboundSchema` instead. */
    Employment$.outboundSchema = exports.Employment$outboundSchema;
})(Employment$ || (exports.Employment$ = Employment$ = {}));
function employmentToJSON(employment) {
    return JSON.stringify(exports.Employment$outboundSchema.parse(employment));
}
exports.employmentToJSON = employmentToJSON;
function employmentFromJSON(jsonString) {
    return (0, schemas_js_1.safeParse)(jsonString, (x) => exports.Employment$inboundSchema.parse(JSON.parse(x)), `Failed to parse 'Employment' from JSON`);
}
exports.employmentFromJSON = employmentFromJSON;
//# sourceMappingURL=employment.js.map