"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.createEmploymentApiModelSchemasPayFrequencySourceValueFromJSON = exports.createEmploymentApiModelSchemasPayFrequencySourceValueToJSON = exports.CreateEmploymentApiModelSchemasPayFrequencySourceValue$ = exports.CreateEmploymentApiModelSchemasPayFrequencySourceValue$outboundSchema = exports.CreateEmploymentApiModelSchemasPayFrequencySourceValue$inboundSchema = exports.createEmploymentApiModelSchemasPayFrequency4FromJSON = exports.createEmploymentApiModelSchemasPayFrequency4ToJSON = exports.CreateEmploymentApiModelSchemasPayFrequency4$ = exports.CreateEmploymentApiModelSchemasPayFrequency4$outboundSchema = exports.CreateEmploymentApiModelSchemasPayFrequency4$inboundSchema = exports.employmentTypeFromJSON = exports.employmentTypeToJSON = exports.EmploymentType$ = exports.EmploymentType$outboundSchema = exports.EmploymentType$inboundSchema = exports.CreateEmploymentApiModelSchemasValue$ = exports.CreateEmploymentApiModelSchemasValue$outboundSchema = exports.CreateEmploymentApiModelSchemasValue$inboundSchema = exports.createEmploymentApiModelSchemasSourceValueFromJSON = exports.createEmploymentApiModelSchemasSourceValueToJSON = exports.CreateEmploymentApiModelSchemasSourceValue$ = exports.CreateEmploymentApiModelSchemasSourceValue$outboundSchema = exports.CreateEmploymentApiModelSchemasSourceValue$inboundSchema = exports.createEmploymentApiModelSchemas4FromJSON = exports.createEmploymentApiModelSchemas4ToJSON = exports.CreateEmploymentApiModelSchemas4$ = exports.CreateEmploymentApiModelSchemas4$outboundSchema = exports.CreateEmploymentApiModelSchemas4$inboundSchema = exports.employmentContractTypeFromJSON = exports.employmentContractTypeToJSON = exports.EmploymentContractType$ = exports.EmploymentContractType$outboundSchema = exports.EmploymentContractType$inboundSchema = exports.CreateEmploymentApiModelValue$ = exports.CreateEmploymentApiModelValue$outboundSchema = exports.CreateEmploymentApiModelValue$inboundSchema = exports.createEmploymentApiModelSourceValueFromJSON = exports.createEmploymentApiModelSourceValueToJSON = exports.CreateEmploymentApiModelSourceValue$ = exports.CreateEmploymentApiModelSourceValue$outboundSchema = exports.CreateEmploymentApiModelSourceValue$inboundSchema = exports.createEmploymentApiModel4FromJSON = exports.createEmploymentApiModel4ToJSON = exports.CreateEmploymentApiModel4$ = exports.CreateEmploymentApiModel4$outboundSchema = exports.CreateEmploymentApiModel4$inboundSchema = exports.CreateEmploymentApiModelSchemasPayPeriodValue = exports.CreateEmploymentApiModelSchemasPayFrequencyValue = exports.CreateEmploymentApiModelSchemasValue = exports.CreateEmploymentApiModelValue = void 0;
exports.createEmploymentApiModelFromJSON = exports.createEmploymentApiModelToJSON = exports.CreateEmploymentApiModel$ = exports.CreateEmploymentApiModel$outboundSchema = exports.CreateEmploymentApiModel$inboundSchema = exports.payPeriodFromJSON = exports.payPeriodToJSON = exports.PayPeriod$ = exports.PayPeriod$outboundSchema = exports.PayPeriod$inboundSchema = exports.CreateEmploymentApiModelSchemasPayPeriodValue$ = exports.CreateEmploymentApiModelSchemasPayPeriodValue$outboundSchema = exports.CreateEmploymentApiModelSchemasPayPeriodValue$inboundSchema = exports.createEmploymentApiModelSchemasPayPeriodSourceValueFromJSON = exports.createEmploymentApiModelSchemasPayPeriodSourceValueToJSON = exports.CreateEmploymentApiModelSchemasPayPeriodSourceValue$ = exports.CreateEmploymentApiModelSchemasPayPeriodSourceValue$outboundSchema = exports.CreateEmploymentApiModelSchemasPayPeriodSourceValue$inboundSchema = exports.createEmploymentApiModelSchemasPayPeriod4FromJSON = exports.createEmploymentApiModelSchemasPayPeriod4ToJSON = exports.CreateEmploymentApiModelSchemasPayPeriod4$ = exports.CreateEmploymentApiModelSchemasPayPeriod4$outboundSchema = exports.CreateEmploymentApiModelSchemasPayPeriod4$inboundSchema = exports.payFrequencyFromJSON = exports.payFrequencyToJSON = exports.PayFrequency$ = exports.PayFrequency$outboundSchema = exports.PayFrequency$inboundSchema = exports.CreateEmploymentApiModelSchemasPayFrequencyValue$ = exports.CreateEmploymentApiModelSchemasPayFrequencyValue$outboundSchema = exports.CreateEmploymentApiModelSchemasPayFrequencyValue$inboundSchema = 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");
var CreateEmploymentApiModelValue;
(function (CreateEmploymentApiModelValue) {
    CreateEmploymentApiModelValue["FullTime"] = "full_time";
    CreateEmploymentApiModelValue["Shifts"] = "shifts";
    CreateEmploymentApiModelValue["PartTime"] = "part_time";
    CreateEmploymentApiModelValue["UnmappedValue"] = "unmapped_value";
})(CreateEmploymentApiModelValue || (exports.CreateEmploymentApiModelValue = CreateEmploymentApiModelValue = {}));
/**
 * The type of the employment.
 */
var CreateEmploymentApiModelSchemasValue;
(function (CreateEmploymentApiModelSchemasValue) {
    CreateEmploymentApiModelSchemasValue["Contractor"] = "contractor";
    CreateEmploymentApiModelSchemasValue["Intern"] = "intern";
    CreateEmploymentApiModelSchemasValue["Permanent"] = "permanent";
    CreateEmploymentApiModelSchemasValue["Apprentice"] = "apprentice";
    CreateEmploymentApiModelSchemasValue["Freelance"] = "freelance";
    CreateEmploymentApiModelSchemasValue["Terminated"] = "terminated";
    CreateEmploymentApiModelSchemasValue["Temporary"] = "temporary";
    CreateEmploymentApiModelSchemasValue["Seasonal"] = "seasonal";
    CreateEmploymentApiModelSchemasValue["Volunteer"] = "volunteer";
    CreateEmploymentApiModelSchemasValue["Probation"] = "probation";
    CreateEmploymentApiModelSchemasValue["Internal"] = "internal";
    CreateEmploymentApiModelSchemasValue["External"] = "external";
    CreateEmploymentApiModelSchemasValue["Expatriate"] = "expatriate";
    CreateEmploymentApiModelSchemasValue["EmployerOfRecord"] = "employer_of_record";
    CreateEmploymentApiModelSchemasValue["Casual"] = "casual";
    CreateEmploymentApiModelSchemasValue["Programme"] = "Programme";
    CreateEmploymentApiModelSchemasValue["UnmappedValue"] = "unmapped_value";
})(CreateEmploymentApiModelSchemasValue || (exports.CreateEmploymentApiModelSchemasValue = CreateEmploymentApiModelSchemasValue = {}));
/**
 * The pay frequency of the job postings.
 */
var CreateEmploymentApiModelSchemasPayFrequencyValue;
(function (CreateEmploymentApiModelSchemasPayFrequencyValue) {
    CreateEmploymentApiModelSchemasPayFrequencyValue["Hourly"] = "hourly";
    CreateEmploymentApiModelSchemasPayFrequencyValue["Weekly"] = "weekly";
    CreateEmploymentApiModelSchemasPayFrequencyValue["BiWeekly"] = "bi_weekly";
    CreateEmploymentApiModelSchemasPayFrequencyValue["FourWeekly"] = "four_weekly";
    CreateEmploymentApiModelSchemasPayFrequencyValue["SemiMonthly"] = "semi_monthly";
    CreateEmploymentApiModelSchemasPayFrequencyValue["Monthly"] = "monthly";
    CreateEmploymentApiModelSchemasPayFrequencyValue["BiMonthly"] = "bi_monthly";
    CreateEmploymentApiModelSchemasPayFrequencyValue["Quarterly"] = "quarterly";
    CreateEmploymentApiModelSchemasPayFrequencyValue["SemiAnnually"] = "semi_annually";
    CreateEmploymentApiModelSchemasPayFrequencyValue["Yearly"] = "yearly";
    CreateEmploymentApiModelSchemasPayFrequencyValue["ThirteenMonthly"] = "thirteen_monthly";
    CreateEmploymentApiModelSchemasPayFrequencyValue["ProRata"] = "pro_rata";
    CreateEmploymentApiModelSchemasPayFrequencyValue["UnmappedValue"] = "unmapped_value";
    CreateEmploymentApiModelSchemasPayFrequencyValue["HalfYearly"] = "half_yearly";
    CreateEmploymentApiModelSchemasPayFrequencyValue["Daily"] = "daily";
})(CreateEmploymentApiModelSchemasPayFrequencyValue || (exports.CreateEmploymentApiModelSchemasPayFrequencyValue = CreateEmploymentApiModelSchemasPayFrequencyValue = {}));
/**
 * The pay period of the job postings.
 */
var CreateEmploymentApiModelSchemasPayPeriodValue;
(function (CreateEmploymentApiModelSchemasPayPeriodValue) {
    CreateEmploymentApiModelSchemasPayPeriodValue["Hour"] = "hour";
    CreateEmploymentApiModelSchemasPayPeriodValue["Day"] = "day";
    CreateEmploymentApiModelSchemasPayPeriodValue["Week"] = "week";
    CreateEmploymentApiModelSchemasPayPeriodValue["EveryTwoWeeks"] = "every_two_weeks";
    CreateEmploymentApiModelSchemasPayPeriodValue["Month"] = "month";
    CreateEmploymentApiModelSchemasPayPeriodValue["TwiceAMonth"] = "twice_a_month";
    CreateEmploymentApiModelSchemasPayPeriodValue["EveryTwoMonths"] = "every_two_months";
    CreateEmploymentApiModelSchemasPayPeriodValue["Quarter"] = "quarter";
    CreateEmploymentApiModelSchemasPayPeriodValue["EverySixMonths"] = "every_six_months";
    CreateEmploymentApiModelSchemasPayPeriodValue["Year"] = "year";
    CreateEmploymentApiModelSchemasPayPeriodValue["OneOff"] = "one_off";
    CreateEmploymentApiModelSchemasPayPeriodValue["None"] = "none";
    CreateEmploymentApiModelSchemasPayPeriodValue["UnmappedValue"] = "unmapped_value";
})(CreateEmploymentApiModelSchemasPayPeriodValue || (exports.CreateEmploymentApiModelSchemasPayPeriodValue = CreateEmploymentApiModelSchemasPayPeriodValue = {}));
/** @internal */
exports.CreateEmploymentApiModel4$inboundSchema = z.object({});
/** @internal */
exports.CreateEmploymentApiModel4$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 CreateEmploymentApiModel4$;
(function (CreateEmploymentApiModel4$) {
    /** @deprecated use `CreateEmploymentApiModel4$inboundSchema` instead. */
    CreateEmploymentApiModel4$.inboundSchema = exports.CreateEmploymentApiModel4$inboundSchema;
    /** @deprecated use `CreateEmploymentApiModel4$outboundSchema` instead. */
    CreateEmploymentApiModel4$.outboundSchema = exports.CreateEmploymentApiModel4$outboundSchema;
})(CreateEmploymentApiModel4$ || (exports.CreateEmploymentApiModel4$ = CreateEmploymentApiModel4$ = {}));
function createEmploymentApiModel4ToJSON(createEmploymentApiModel4) {
    return JSON.stringify(exports.CreateEmploymentApiModel4$outboundSchema.parse(createEmploymentApiModel4));
}
exports.createEmploymentApiModel4ToJSON = createEmploymentApiModel4ToJSON;
function createEmploymentApiModel4FromJSON(jsonString) {
    return (0, schemas_js_1.safeParse)(jsonString, (x) => exports.CreateEmploymentApiModel4$inboundSchema.parse(JSON.parse(x)), `Failed to parse 'CreateEmploymentApiModel4' from JSON`);
}
exports.createEmploymentApiModel4FromJSON = createEmploymentApiModel4FromJSON;
/** @internal */
exports.CreateEmploymentApiModelSourceValue$inboundSchema = z.union([
    z.lazy(() => exports.CreateEmploymentApiModel4$inboundSchema),
    z.string(),
    z.number(),
    z.boolean(),
    z.array(z.any()),
]);
/** @internal */
exports.CreateEmploymentApiModelSourceValue$outboundSchema = z.union([
    z.lazy(() => exports.CreateEmploymentApiModel4$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 CreateEmploymentApiModelSourceValue$;
(function (CreateEmploymentApiModelSourceValue$) {
    /** @deprecated use `CreateEmploymentApiModelSourceValue$inboundSchema` instead. */
    CreateEmploymentApiModelSourceValue$.inboundSchema = exports.CreateEmploymentApiModelSourceValue$inboundSchema;
    /** @deprecated use `CreateEmploymentApiModelSourceValue$outboundSchema` instead. */
    CreateEmploymentApiModelSourceValue$.outboundSchema = exports.CreateEmploymentApiModelSourceValue$outboundSchema;
})(CreateEmploymentApiModelSourceValue$ || (exports.CreateEmploymentApiModelSourceValue$ = CreateEmploymentApiModelSourceValue$ = {}));
function createEmploymentApiModelSourceValueToJSON(createEmploymentApiModelSourceValue) {
    return JSON.stringify(exports.CreateEmploymentApiModelSourceValue$outboundSchema.parse(createEmploymentApiModelSourceValue));
}
exports.createEmploymentApiModelSourceValueToJSON = createEmploymentApiModelSourceValueToJSON;
function createEmploymentApiModelSourceValueFromJSON(jsonString) {
    return (0, schemas_js_1.safeParse)(jsonString, (x) => exports.CreateEmploymentApiModelSourceValue$inboundSchema.parse(JSON.parse(x)), `Failed to parse 'CreateEmploymentApiModelSourceValue' from JSON`);
}
exports.createEmploymentApiModelSourceValueFromJSON = createEmploymentApiModelSourceValueFromJSON;
/** @internal */
exports.CreateEmploymentApiModelValue$inboundSchema = z
    .union([
    z.nativeEnum(CreateEmploymentApiModelValue),
    z.string().transform(enums_js_1.catchUnrecognizedEnum),
]);
/** @internal */
exports.CreateEmploymentApiModelValue$outboundSchema = z.union([
    z.nativeEnum(CreateEmploymentApiModelValue),
    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 CreateEmploymentApiModelValue$;
(function (CreateEmploymentApiModelValue$) {
    /** @deprecated use `CreateEmploymentApiModelValue$inboundSchema` instead. */
    CreateEmploymentApiModelValue$.inboundSchema = exports.CreateEmploymentApiModelValue$inboundSchema;
    /** @deprecated use `CreateEmploymentApiModelValue$outboundSchema` instead. */
    CreateEmploymentApiModelValue$.outboundSchema = exports.CreateEmploymentApiModelValue$outboundSchema;
})(CreateEmploymentApiModelValue$ || (exports.CreateEmploymentApiModelValue$ = CreateEmploymentApiModelValue$ = {}));
/** @internal */
exports.EmploymentContractType$inboundSchema = z.object({
    source_value: z.nullable(z.union([
        z.lazy(() => exports.CreateEmploymentApiModel4$inboundSchema),
        z.string(),
        z.number(),
        z.boolean(),
        z.array(z.any()),
    ])).optional(),
    value: z.nullable(exports.CreateEmploymentApiModelValue$inboundSchema).optional(),
}).transform((v) => {
    return (0, primitives_js_1.remap)(v, {
        "source_value": "sourceValue",
    });
});
/** @internal */
exports.EmploymentContractType$outboundSchema = z.object({
    sourceValue: z.nullable(z.union([
        z.lazy(() => exports.CreateEmploymentApiModel4$outboundSchema),
        z.string(),
        z.number(),
        z.boolean(),
        z.array(z.any()),
    ])).optional(),
    value: z.nullable(exports.CreateEmploymentApiModelValue$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 EmploymentContractType$;
(function (EmploymentContractType$) {
    /** @deprecated use `EmploymentContractType$inboundSchema` instead. */
    EmploymentContractType$.inboundSchema = exports.EmploymentContractType$inboundSchema;
    /** @deprecated use `EmploymentContractType$outboundSchema` instead. */
    EmploymentContractType$.outboundSchema = exports.EmploymentContractType$outboundSchema;
})(EmploymentContractType$ || (exports.EmploymentContractType$ = EmploymentContractType$ = {}));
function employmentContractTypeToJSON(employmentContractType) {
    return JSON.stringify(exports.EmploymentContractType$outboundSchema.parse(employmentContractType));
}
exports.employmentContractTypeToJSON = employmentContractTypeToJSON;
function employmentContractTypeFromJSON(jsonString) {
    return (0, schemas_js_1.safeParse)(jsonString, (x) => exports.EmploymentContractType$inboundSchema.parse(JSON.parse(x)), `Failed to parse 'EmploymentContractType' from JSON`);
}
exports.employmentContractTypeFromJSON = employmentContractTypeFromJSON;
/** @internal */
exports.CreateEmploymentApiModelSchemas4$inboundSchema = z.object({});
/** @internal */
exports.CreateEmploymentApiModelSchemas4$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 CreateEmploymentApiModelSchemas4$;
(function (CreateEmploymentApiModelSchemas4$) {
    /** @deprecated use `CreateEmploymentApiModelSchemas4$inboundSchema` instead. */
    CreateEmploymentApiModelSchemas4$.inboundSchema = exports.CreateEmploymentApiModelSchemas4$inboundSchema;
    /** @deprecated use `CreateEmploymentApiModelSchemas4$outboundSchema` instead. */
    CreateEmploymentApiModelSchemas4$.outboundSchema = exports.CreateEmploymentApiModelSchemas4$outboundSchema;
})(CreateEmploymentApiModelSchemas4$ || (exports.CreateEmploymentApiModelSchemas4$ = CreateEmploymentApiModelSchemas4$ = {}));
function createEmploymentApiModelSchemas4ToJSON(createEmploymentApiModelSchemas4) {
    return JSON.stringify(exports.CreateEmploymentApiModelSchemas4$outboundSchema.parse(createEmploymentApiModelSchemas4));
}
exports.createEmploymentApiModelSchemas4ToJSON = createEmploymentApiModelSchemas4ToJSON;
function createEmploymentApiModelSchemas4FromJSON(jsonString) {
    return (0, schemas_js_1.safeParse)(jsonString, (x) => exports.CreateEmploymentApiModelSchemas4$inboundSchema.parse(JSON.parse(x)), `Failed to parse 'CreateEmploymentApiModelSchemas4' from JSON`);
}
exports.createEmploymentApiModelSchemas4FromJSON = createEmploymentApiModelSchemas4FromJSON;
/** @internal */
exports.CreateEmploymentApiModelSchemasSourceValue$inboundSchema = z.union([
    z.lazy(() => exports.CreateEmploymentApiModelSchemas4$inboundSchema),
    z.string(),
    z.number(),
    z.boolean(),
    z.array(z.any()),
]);
/** @internal */
exports.CreateEmploymentApiModelSchemasSourceValue$outboundSchema = z.union([
    z.lazy(() => exports.CreateEmploymentApiModelSchemas4$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 CreateEmploymentApiModelSchemasSourceValue$;
(function (CreateEmploymentApiModelSchemasSourceValue$) {
    /** @deprecated use `CreateEmploymentApiModelSchemasSourceValue$inboundSchema` instead. */
    CreateEmploymentApiModelSchemasSourceValue$.inboundSchema = exports.CreateEmploymentApiModelSchemasSourceValue$inboundSchema;
    /** @deprecated use `CreateEmploymentApiModelSchemasSourceValue$outboundSchema` instead. */
    CreateEmploymentApiModelSchemasSourceValue$.outboundSchema = exports.CreateEmploymentApiModelSchemasSourceValue$outboundSchema;
})(CreateEmploymentApiModelSchemasSourceValue$ || (exports.CreateEmploymentApiModelSchemasSourceValue$ = CreateEmploymentApiModelSchemasSourceValue$ = {}));
function createEmploymentApiModelSchemasSourceValueToJSON(createEmploymentApiModelSchemasSourceValue) {
    return JSON.stringify(exports.CreateEmploymentApiModelSchemasSourceValue$outboundSchema.parse(createEmploymentApiModelSchemasSourceValue));
}
exports.createEmploymentApiModelSchemasSourceValueToJSON = createEmploymentApiModelSchemasSourceValueToJSON;
function createEmploymentApiModelSchemasSourceValueFromJSON(jsonString) {
    return (0, schemas_js_1.safeParse)(jsonString, (x) => exports.CreateEmploymentApiModelSchemasSourceValue$inboundSchema.parse(JSON.parse(x)), `Failed to parse 'CreateEmploymentApiModelSchemasSourceValue' from JSON`);
}
exports.createEmploymentApiModelSchemasSourceValueFromJSON = createEmploymentApiModelSchemasSourceValueFromJSON;
/** @internal */
exports.CreateEmploymentApiModelSchemasValue$inboundSchema = z
    .union([
    z.nativeEnum(CreateEmploymentApiModelSchemasValue),
    z.string().transform(enums_js_1.catchUnrecognizedEnum),
]);
/** @internal */
exports.CreateEmploymentApiModelSchemasValue$outboundSchema = z.union([
    z.nativeEnum(CreateEmploymentApiModelSchemasValue),
    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 CreateEmploymentApiModelSchemasValue$;
(function (CreateEmploymentApiModelSchemasValue$) {
    /** @deprecated use `CreateEmploymentApiModelSchemasValue$inboundSchema` instead. */
    CreateEmploymentApiModelSchemasValue$.inboundSchema = exports.CreateEmploymentApiModelSchemasValue$inboundSchema;
    /** @deprecated use `CreateEmploymentApiModelSchemasValue$outboundSchema` instead. */
    CreateEmploymentApiModelSchemasValue$.outboundSchema = exports.CreateEmploymentApiModelSchemasValue$outboundSchema;
})(CreateEmploymentApiModelSchemasValue$ || (exports.CreateEmploymentApiModelSchemasValue$ = CreateEmploymentApiModelSchemasValue$ = {}));
/** @internal */
exports.EmploymentType$inboundSchema = z.object({
    source_value: z.nullable(z.union([
        z.lazy(() => exports.CreateEmploymentApiModelSchemas4$inboundSchema),
        z.string(),
        z.number(),
        z.boolean(),
        z.array(z.any()),
    ])).optional(),
    value: z.nullable(exports.CreateEmploymentApiModelSchemasValue$inboundSchema)
        .optional(),
}).transform((v) => {
    return (0, primitives_js_1.remap)(v, {
        "source_value": "sourceValue",
    });
});
/** @internal */
exports.EmploymentType$outboundSchema = z.object({
    sourceValue: z.nullable(z.union([
        z.lazy(() => exports.CreateEmploymentApiModelSchemas4$outboundSchema),
        z.string(),
        z.number(),
        z.boolean(),
        z.array(z.any()),
    ])).optional(),
    value: z.nullable(exports.CreateEmploymentApiModelSchemasValue$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 EmploymentType$;
(function (EmploymentType$) {
    /** @deprecated use `EmploymentType$inboundSchema` instead. */
    EmploymentType$.inboundSchema = exports.EmploymentType$inboundSchema;
    /** @deprecated use `EmploymentType$outboundSchema` instead. */
    EmploymentType$.outboundSchema = exports.EmploymentType$outboundSchema;
})(EmploymentType$ || (exports.EmploymentType$ = EmploymentType$ = {}));
function employmentTypeToJSON(employmentType) {
    return JSON.stringify(exports.EmploymentType$outboundSchema.parse(employmentType));
}
exports.employmentTypeToJSON = employmentTypeToJSON;
function employmentTypeFromJSON(jsonString) {
    return (0, schemas_js_1.safeParse)(jsonString, (x) => exports.EmploymentType$inboundSchema.parse(JSON.parse(x)), `Failed to parse 'EmploymentType' from JSON`);
}
exports.employmentTypeFromJSON = employmentTypeFromJSON;
/** @internal */
exports.CreateEmploymentApiModelSchemasPayFrequency4$inboundSchema = z.object({});
/** @internal */
exports.CreateEmploymentApiModelSchemasPayFrequency4$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 CreateEmploymentApiModelSchemasPayFrequency4$;
(function (CreateEmploymentApiModelSchemasPayFrequency4$) {
    /** @deprecated use `CreateEmploymentApiModelSchemasPayFrequency4$inboundSchema` instead. */
    CreateEmploymentApiModelSchemasPayFrequency4$.inboundSchema = exports.CreateEmploymentApiModelSchemasPayFrequency4$inboundSchema;
    /** @deprecated use `CreateEmploymentApiModelSchemasPayFrequency4$outboundSchema` instead. */
    CreateEmploymentApiModelSchemasPayFrequency4$.outboundSchema = exports.CreateEmploymentApiModelSchemasPayFrequency4$outboundSchema;
})(CreateEmploymentApiModelSchemasPayFrequency4$ || (exports.CreateEmploymentApiModelSchemasPayFrequency4$ = CreateEmploymentApiModelSchemasPayFrequency4$ = {}));
function createEmploymentApiModelSchemasPayFrequency4ToJSON(createEmploymentApiModelSchemasPayFrequency4) {
    return JSON.stringify(exports.CreateEmploymentApiModelSchemasPayFrequency4$outboundSchema.parse(createEmploymentApiModelSchemasPayFrequency4));
}
exports.createEmploymentApiModelSchemasPayFrequency4ToJSON = createEmploymentApiModelSchemasPayFrequency4ToJSON;
function createEmploymentApiModelSchemasPayFrequency4FromJSON(jsonString) {
    return (0, schemas_js_1.safeParse)(jsonString, (x) => exports.CreateEmploymentApiModelSchemasPayFrequency4$inboundSchema.parse(JSON.parse(x)), `Failed to parse 'CreateEmploymentApiModelSchemasPayFrequency4' from JSON`);
}
exports.createEmploymentApiModelSchemasPayFrequency4FromJSON = createEmploymentApiModelSchemasPayFrequency4FromJSON;
/** @internal */
exports.CreateEmploymentApiModelSchemasPayFrequencySourceValue$inboundSchema = z.union([
    z.lazy(() => exports.CreateEmploymentApiModelSchemasPayFrequency4$inboundSchema),
    z.string(),
    z.number(),
    z.boolean(),
    z.array(z.any()),
]);
/** @internal */
exports.CreateEmploymentApiModelSchemasPayFrequencySourceValue$outboundSchema = z.union([
    z.lazy(() => exports.CreateEmploymentApiModelSchemasPayFrequency4$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 CreateEmploymentApiModelSchemasPayFrequencySourceValue$;
(function (CreateEmploymentApiModelSchemasPayFrequencySourceValue$) {
    /** @deprecated use `CreateEmploymentApiModelSchemasPayFrequencySourceValue$inboundSchema` instead. */
    CreateEmploymentApiModelSchemasPayFrequencySourceValue$.inboundSchema = exports.CreateEmploymentApiModelSchemasPayFrequencySourceValue$inboundSchema;
    /** @deprecated use `CreateEmploymentApiModelSchemasPayFrequencySourceValue$outboundSchema` instead. */
    CreateEmploymentApiModelSchemasPayFrequencySourceValue$.outboundSchema = exports.CreateEmploymentApiModelSchemasPayFrequencySourceValue$outboundSchema;
})(CreateEmploymentApiModelSchemasPayFrequencySourceValue$ || (exports.CreateEmploymentApiModelSchemasPayFrequencySourceValue$ = CreateEmploymentApiModelSchemasPayFrequencySourceValue$ = {}));
function createEmploymentApiModelSchemasPayFrequencySourceValueToJSON(createEmploymentApiModelSchemasPayFrequencySourceValue) {
    return JSON.stringify(exports.CreateEmploymentApiModelSchemasPayFrequencySourceValue$outboundSchema.parse(createEmploymentApiModelSchemasPayFrequencySourceValue));
}
exports.createEmploymentApiModelSchemasPayFrequencySourceValueToJSON = createEmploymentApiModelSchemasPayFrequencySourceValueToJSON;
function createEmploymentApiModelSchemasPayFrequencySourceValueFromJSON(jsonString) {
    return (0, schemas_js_1.safeParse)(jsonString, (x) => exports.CreateEmploymentApiModelSchemasPayFrequencySourceValue$inboundSchema
        .parse(JSON.parse(x)), `Failed to parse 'CreateEmploymentApiModelSchemasPayFrequencySourceValue' from JSON`);
}
exports.createEmploymentApiModelSchemasPayFrequencySourceValueFromJSON = createEmploymentApiModelSchemasPayFrequencySourceValueFromJSON;
/** @internal */
exports.CreateEmploymentApiModelSchemasPayFrequencyValue$inboundSchema = z
    .union([
    z.nativeEnum(CreateEmploymentApiModelSchemasPayFrequencyValue),
    z.string().transform(enums_js_1.catchUnrecognizedEnum),
]);
/** @internal */
exports.CreateEmploymentApiModelSchemasPayFrequencyValue$outboundSchema = z.union([
    z.nativeEnum(CreateEmploymentApiModelSchemasPayFrequencyValue),
    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 CreateEmploymentApiModelSchemasPayFrequencyValue$;
(function (CreateEmploymentApiModelSchemasPayFrequencyValue$) {
    /** @deprecated use `CreateEmploymentApiModelSchemasPayFrequencyValue$inboundSchema` instead. */
    CreateEmploymentApiModelSchemasPayFrequencyValue$.inboundSchema = exports.CreateEmploymentApiModelSchemasPayFrequencyValue$inboundSchema;
    /** @deprecated use `CreateEmploymentApiModelSchemasPayFrequencyValue$outboundSchema` instead. */
    CreateEmploymentApiModelSchemasPayFrequencyValue$.outboundSchema = exports.CreateEmploymentApiModelSchemasPayFrequencyValue$outboundSchema;
})(CreateEmploymentApiModelSchemasPayFrequencyValue$ || (exports.CreateEmploymentApiModelSchemasPayFrequencyValue$ = CreateEmploymentApiModelSchemasPayFrequencyValue$ = {}));
/** @internal */
exports.PayFrequency$inboundSchema = z.object({
    source_value: z.nullable(z.union([
        z.lazy(() => exports.CreateEmploymentApiModelSchemasPayFrequency4$inboundSchema),
        z.string(),
        z.number(),
        z.boolean(),
        z.array(z.any()),
    ])).optional(),
    value: z.nullable(exports.CreateEmploymentApiModelSchemasPayFrequencyValue$inboundSchema).optional(),
}).transform((v) => {
    return (0, primitives_js_1.remap)(v, {
        "source_value": "sourceValue",
    });
});
/** @internal */
exports.PayFrequency$outboundSchema = z.object({
    sourceValue: z.nullable(z.union([
        z.lazy(() => exports.CreateEmploymentApiModelSchemasPayFrequency4$outboundSchema),
        z.string(),
        z.number(),
        z.boolean(),
        z.array(z.any()),
    ])).optional(),
    value: z.nullable(exports.CreateEmploymentApiModelSchemasPayFrequencyValue$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 PayFrequency$;
(function (PayFrequency$) {
    /** @deprecated use `PayFrequency$inboundSchema` instead. */
    PayFrequency$.inboundSchema = exports.PayFrequency$inboundSchema;
    /** @deprecated use `PayFrequency$outboundSchema` instead. */
    PayFrequency$.outboundSchema = exports.PayFrequency$outboundSchema;
})(PayFrequency$ || (exports.PayFrequency$ = PayFrequency$ = {}));
function payFrequencyToJSON(payFrequency) {
    return JSON.stringify(exports.PayFrequency$outboundSchema.parse(payFrequency));
}
exports.payFrequencyToJSON = payFrequencyToJSON;
function payFrequencyFromJSON(jsonString) {
    return (0, schemas_js_1.safeParse)(jsonString, (x) => exports.PayFrequency$inboundSchema.parse(JSON.parse(x)), `Failed to parse 'PayFrequency' from JSON`);
}
exports.payFrequencyFromJSON = payFrequencyFromJSON;
/** @internal */
exports.CreateEmploymentApiModelSchemasPayPeriod4$inboundSchema = z.object({});
/** @internal */
exports.CreateEmploymentApiModelSchemasPayPeriod4$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 CreateEmploymentApiModelSchemasPayPeriod4$;
(function (CreateEmploymentApiModelSchemasPayPeriod4$) {
    /** @deprecated use `CreateEmploymentApiModelSchemasPayPeriod4$inboundSchema` instead. */
    CreateEmploymentApiModelSchemasPayPeriod4$.inboundSchema = exports.CreateEmploymentApiModelSchemasPayPeriod4$inboundSchema;
    /** @deprecated use `CreateEmploymentApiModelSchemasPayPeriod4$outboundSchema` instead. */
    CreateEmploymentApiModelSchemasPayPeriod4$.outboundSchema = exports.CreateEmploymentApiModelSchemasPayPeriod4$outboundSchema;
})(CreateEmploymentApiModelSchemasPayPeriod4$ || (exports.CreateEmploymentApiModelSchemasPayPeriod4$ = CreateEmploymentApiModelSchemasPayPeriod4$ = {}));
function createEmploymentApiModelSchemasPayPeriod4ToJSON(createEmploymentApiModelSchemasPayPeriod4) {
    return JSON.stringify(exports.CreateEmploymentApiModelSchemasPayPeriod4$outboundSchema.parse(createEmploymentApiModelSchemasPayPeriod4));
}
exports.createEmploymentApiModelSchemasPayPeriod4ToJSON = createEmploymentApiModelSchemasPayPeriod4ToJSON;
function createEmploymentApiModelSchemasPayPeriod4FromJSON(jsonString) {
    return (0, schemas_js_1.safeParse)(jsonString, (x) => exports.CreateEmploymentApiModelSchemasPayPeriod4$inboundSchema.parse(JSON.parse(x)), `Failed to parse 'CreateEmploymentApiModelSchemasPayPeriod4' from JSON`);
}
exports.createEmploymentApiModelSchemasPayPeriod4FromJSON = createEmploymentApiModelSchemasPayPeriod4FromJSON;
/** @internal */
exports.CreateEmploymentApiModelSchemasPayPeriodSourceValue$inboundSchema = z.union([
    z.lazy(() => exports.CreateEmploymentApiModelSchemasPayPeriod4$inboundSchema),
    z.string(),
    z.number(),
    z.boolean(),
    z.array(z.any()),
]);
/** @internal */
exports.CreateEmploymentApiModelSchemasPayPeriodSourceValue$outboundSchema = z.union([
    z.lazy(() => exports.CreateEmploymentApiModelSchemasPayPeriod4$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 CreateEmploymentApiModelSchemasPayPeriodSourceValue$;
(function (CreateEmploymentApiModelSchemasPayPeriodSourceValue$) {
    /** @deprecated use `CreateEmploymentApiModelSchemasPayPeriodSourceValue$inboundSchema` instead. */
    CreateEmploymentApiModelSchemasPayPeriodSourceValue$.inboundSchema = exports.CreateEmploymentApiModelSchemasPayPeriodSourceValue$inboundSchema;
    /** @deprecated use `CreateEmploymentApiModelSchemasPayPeriodSourceValue$outboundSchema` instead. */
    CreateEmploymentApiModelSchemasPayPeriodSourceValue$.outboundSchema = exports.CreateEmploymentApiModelSchemasPayPeriodSourceValue$outboundSchema;
})(CreateEmploymentApiModelSchemasPayPeriodSourceValue$ || (exports.CreateEmploymentApiModelSchemasPayPeriodSourceValue$ = CreateEmploymentApiModelSchemasPayPeriodSourceValue$ = {}));
function createEmploymentApiModelSchemasPayPeriodSourceValueToJSON(createEmploymentApiModelSchemasPayPeriodSourceValue) {
    return JSON.stringify(exports.CreateEmploymentApiModelSchemasPayPeriodSourceValue$outboundSchema.parse(createEmploymentApiModelSchemasPayPeriodSourceValue));
}
exports.createEmploymentApiModelSchemasPayPeriodSourceValueToJSON = createEmploymentApiModelSchemasPayPeriodSourceValueToJSON;
function createEmploymentApiModelSchemasPayPeriodSourceValueFromJSON(jsonString) {
    return (0, schemas_js_1.safeParse)(jsonString, (x) => exports.CreateEmploymentApiModelSchemasPayPeriodSourceValue$inboundSchema.parse(JSON.parse(x)), `Failed to parse 'CreateEmploymentApiModelSchemasPayPeriodSourceValue' from JSON`);
}
exports.createEmploymentApiModelSchemasPayPeriodSourceValueFromJSON = createEmploymentApiModelSchemasPayPeriodSourceValueFromJSON;
/** @internal */
exports.CreateEmploymentApiModelSchemasPayPeriodValue$inboundSchema = z
    .union([
    z.nativeEnum(CreateEmploymentApiModelSchemasPayPeriodValue),
    z.string().transform(enums_js_1.catchUnrecognizedEnum),
]);
/** @internal */
exports.CreateEmploymentApiModelSchemasPayPeriodValue$outboundSchema = z.union([
    z.nativeEnum(CreateEmploymentApiModelSchemasPayPeriodValue),
    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 CreateEmploymentApiModelSchemasPayPeriodValue$;
(function (CreateEmploymentApiModelSchemasPayPeriodValue$) {
    /** @deprecated use `CreateEmploymentApiModelSchemasPayPeriodValue$inboundSchema` instead. */
    CreateEmploymentApiModelSchemasPayPeriodValue$.inboundSchema = exports.CreateEmploymentApiModelSchemasPayPeriodValue$inboundSchema;
    /** @deprecated use `CreateEmploymentApiModelSchemasPayPeriodValue$outboundSchema` instead. */
    CreateEmploymentApiModelSchemasPayPeriodValue$.outboundSchema = exports.CreateEmploymentApiModelSchemasPayPeriodValue$outboundSchema;
})(CreateEmploymentApiModelSchemasPayPeriodValue$ || (exports.CreateEmploymentApiModelSchemasPayPeriodValue$ = CreateEmploymentApiModelSchemasPayPeriodValue$ = {}));
/** @internal */
exports.PayPeriod$inboundSchema = z.object({
    source_value: z.nullable(z.union([
        z.lazy(() => exports.CreateEmploymentApiModelSchemasPayPeriod4$inboundSchema),
        z.string(),
        z.number(),
        z.boolean(),
        z.array(z.any()),
    ])).optional(),
    value: z.nullable(exports.CreateEmploymentApiModelSchemasPayPeriodValue$inboundSchema)
        .optional(),
}).transform((v) => {
    return (0, primitives_js_1.remap)(v, {
        "source_value": "sourceValue",
    });
});
/** @internal */
exports.PayPeriod$outboundSchema = z.object({
    sourceValue: z.nullable(z.union([
        z.lazy(() => exports.CreateEmploymentApiModelSchemasPayPeriod4$outboundSchema),
        z.string(),
        z.number(),
        z.boolean(),
        z.array(z.any()),
    ])).optional(),
    value: z.nullable(exports.CreateEmploymentApiModelSchemasPayPeriodValue$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 PayPeriod$;
(function (PayPeriod$) {
    /** @deprecated use `PayPeriod$inboundSchema` instead. */
    PayPeriod$.inboundSchema = exports.PayPeriod$inboundSchema;
    /** @deprecated use `PayPeriod$outboundSchema` instead. */
    PayPeriod$.outboundSchema = exports.PayPeriod$outboundSchema;
})(PayPeriod$ || (exports.PayPeriod$ = PayPeriod$ = {}));
function payPeriodToJSON(payPeriod) {
    return JSON.stringify(exports.PayPeriod$outboundSchema.parse(payPeriod));
}
exports.payPeriodToJSON = payPeriodToJSON;
function payPeriodFromJSON(jsonString) {
    return (0, schemas_js_1.safeParse)(jsonString, (x) => exports.PayPeriod$inboundSchema.parse(JSON.parse(x)), `Failed to parse 'PayPeriod' from JSON`);
}
exports.payPeriodFromJSON = payPeriodFromJSON;
/** @internal */
exports.CreateEmploymentApiModel$inboundSchema = z.object({
    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.EmploymentContractType$inboundSchema)).optional(),
    employment_type: z.nullable(z.lazy(() => exports.EmploymentType$inboundSchema))
        .optional(),
    id: z.nullable(z.string()).optional(),
    job_title: z.nullable(z.string()).optional(),
    pay_currency: z.nullable(z.string()).optional(),
    pay_frequency: z.nullable(z.lazy(() => exports.PayFrequency$inboundSchema))
        .optional(),
    pay_period: z.nullable(z.lazy(() => exports.PayPeriod$inboundSchema)).optional(),
    pay_rate: z.nullable(z.string()).optional(),
    time_worked: z.nullable(z.string()).optional(),
    unified_custom_fields: z.nullable(z.record(z.any())).optional(),
}).transform((v) => {
    return (0, primitives_js_1.remap)(v, {
        "effective_date": "effectiveDate",
        "employee_id": "employeeId",
        "employment_contract_type": "employmentContractType",
        "employment_type": "employmentType",
        "job_title": "jobTitle",
        "pay_currency": "payCurrency",
        "pay_frequency": "payFrequency",
        "pay_period": "payPeriod",
        "pay_rate": "payRate",
        "time_worked": "timeWorked",
        "unified_custom_fields": "unifiedCustomFields",
    });
});
/** @internal */
exports.CreateEmploymentApiModel$outboundSchema = z.object({
    effectiveDate: z.nullable(z.date().transform(v => v.toISOString()))
        .optional(),
    employeeId: z.nullable(z.string()).optional(),
    employmentContractType: z.nullable(z.lazy(() => exports.EmploymentContractType$outboundSchema)).optional(),
    employmentType: z.nullable(z.lazy(() => exports.EmploymentType$outboundSchema))
        .optional(),
    id: z.nullable(z.string()).optional(),
    jobTitle: z.nullable(z.string()).optional(),
    payCurrency: z.nullable(z.string()).optional(),
    payFrequency: z.nullable(z.lazy(() => exports.PayFrequency$outboundSchema))
        .optional(),
    payPeriod: z.nullable(z.lazy(() => exports.PayPeriod$outboundSchema)).optional(),
    payRate: z.nullable(z.string()).optional(),
    timeWorked: z.nullable(z.string()).optional(),
    unifiedCustomFields: z.nullable(z.record(z.any())).optional(),
}).transform((v) => {
    return (0, primitives_js_1.remap)(v, {
        effectiveDate: "effective_date",
        employeeId: "employee_id",
        employmentContractType: "employment_contract_type",
        employmentType: "employment_type",
        jobTitle: "job_title",
        payCurrency: "pay_currency",
        payFrequency: "pay_frequency",
        payPeriod: "pay_period",
        payRate: "pay_rate",
        timeWorked: "time_worked",
        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 CreateEmploymentApiModel$;
(function (CreateEmploymentApiModel$) {
    /** @deprecated use `CreateEmploymentApiModel$inboundSchema` instead. */
    CreateEmploymentApiModel$.inboundSchema = exports.CreateEmploymentApiModel$inboundSchema;
    /** @deprecated use `CreateEmploymentApiModel$outboundSchema` instead. */
    CreateEmploymentApiModel$.outboundSchema = exports.CreateEmploymentApiModel$outboundSchema;
})(CreateEmploymentApiModel$ || (exports.CreateEmploymentApiModel$ = CreateEmploymentApiModel$ = {}));
function createEmploymentApiModelToJSON(createEmploymentApiModel) {
    return JSON.stringify(exports.CreateEmploymentApiModel$outboundSchema.parse(createEmploymentApiModel));
}
exports.createEmploymentApiModelToJSON = createEmploymentApiModelToJSON;
function createEmploymentApiModelFromJSON(jsonString) {
    return (0, schemas_js_1.safeParse)(jsonString, (x) => exports.CreateEmploymentApiModel$inboundSchema.parse(JSON.parse(x)), `Failed to parse 'CreateEmploymentApiModel' from JSON`);
}
exports.createEmploymentApiModelFromJSON = createEmploymentApiModelFromJSON;
//# sourceMappingURL=createemploymentapimodel.js.map