"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.JobPostingCompensationSchemasTypeValue$inboundSchema = exports.jobPostingCompensationSchemasTypeSourceValueFromJSON = exports.jobPostingCompensationSchemasTypeSourceValueToJSON = exports.JobPostingCompensationSchemasTypeSourceValue$ = exports.JobPostingCompensationSchemasTypeSourceValue$outboundSchema = exports.JobPostingCompensationSchemasTypeSourceValue$inboundSchema = exports.jobPostingCompensationSchemasType4FromJSON = exports.jobPostingCompensationSchemasType4ToJSON = exports.JobPostingCompensationSchemasType4$ = exports.JobPostingCompensationSchemasType4$outboundSchema = exports.JobPostingCompensationSchemasType4$inboundSchema = exports.jobPostingCompensationPayPeriodFromJSON = exports.jobPostingCompensationPayPeriodToJSON = exports.JobPostingCompensationPayPeriod$ = exports.JobPostingCompensationPayPeriod$outboundSchema = exports.JobPostingCompensationPayPeriod$inboundSchema = exports.JobPostingCompensationSchemasValue$ = exports.JobPostingCompensationSchemasValue$outboundSchema = exports.JobPostingCompensationSchemasValue$inboundSchema = exports.jobPostingCompensationSchemasSourceValueFromJSON = exports.jobPostingCompensationSchemasSourceValueToJSON = exports.JobPostingCompensationSchemasSourceValue$ = exports.JobPostingCompensationSchemasSourceValue$outboundSchema = exports.JobPostingCompensationSchemasSourceValue$inboundSchema = exports.jobPostingCompensationSchemas4FromJSON = exports.jobPostingCompensationSchemas4ToJSON = exports.JobPostingCompensationSchemas4$ = exports.JobPostingCompensationSchemas4$outboundSchema = exports.JobPostingCompensationSchemas4$inboundSchema = exports.jobPostingCompensationPayFrequencyFromJSON = exports.jobPostingCompensationPayFrequencyToJSON = exports.JobPostingCompensationPayFrequency$ = exports.JobPostingCompensationPayFrequency$outboundSchema = exports.JobPostingCompensationPayFrequency$inboundSchema = exports.JobPostingCompensationValue$ = exports.JobPostingCompensationValue$outboundSchema = exports.JobPostingCompensationValue$inboundSchema = exports.jobPostingCompensationSourceValueFromJSON = exports.jobPostingCompensationSourceValueToJSON = exports.JobPostingCompensationSourceValue$ = exports.JobPostingCompensationSourceValue$outboundSchema = exports.JobPostingCompensationSourceValue$inboundSchema = exports.jobPostingCompensation4FromJSON = exports.jobPostingCompensation4ToJSON = exports.JobPostingCompensation4$ = exports.JobPostingCompensation4$outboundSchema = exports.JobPostingCompensation4$inboundSchema = exports.JobPostingCompensationSchemasTypeValue = exports.JobPostingCompensationSchemasValue = exports.JobPostingCompensationValue = void 0;
exports.jobPostingCompensationFromJSON = exports.jobPostingCompensationToJSON = exports.JobPostingCompensation$ = exports.JobPostingCompensation$outboundSchema = exports.JobPostingCompensation$inboundSchema = exports.jobPostingCompensationTypeFromJSON = exports.jobPostingCompensationTypeToJSON = exports.JobPostingCompensationType$ = exports.JobPostingCompensationType$outboundSchema = exports.JobPostingCompensationType$inboundSchema = exports.JobPostingCompensationSchemasTypeValue$ = exports.JobPostingCompensationSchemasTypeValue$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");
/**
 * The pay frequency of the job postings.
 */
var JobPostingCompensationValue;
(function (JobPostingCompensationValue) {
    JobPostingCompensationValue["Hourly"] = "hourly";
    JobPostingCompensationValue["Weekly"] = "weekly";
    JobPostingCompensationValue["BiWeekly"] = "bi_weekly";
    JobPostingCompensationValue["FourWeekly"] = "four_weekly";
    JobPostingCompensationValue["SemiMonthly"] = "semi_monthly";
    JobPostingCompensationValue["Monthly"] = "monthly";
    JobPostingCompensationValue["BiMonthly"] = "bi_monthly";
    JobPostingCompensationValue["Quarterly"] = "quarterly";
    JobPostingCompensationValue["SemiAnnually"] = "semi_annually";
    JobPostingCompensationValue["Yearly"] = "yearly";
    JobPostingCompensationValue["ThirteenMonthly"] = "thirteen_monthly";
    JobPostingCompensationValue["ProRata"] = "pro_rata";
    JobPostingCompensationValue["UnmappedValue"] = "unmapped_value";
    JobPostingCompensationValue["HalfYearly"] = "half_yearly";
    JobPostingCompensationValue["Daily"] = "daily";
})(JobPostingCompensationValue || (exports.JobPostingCompensationValue = JobPostingCompensationValue = {}));
/**
 * The pay period of the job postings.
 */
var JobPostingCompensationSchemasValue;
(function (JobPostingCompensationSchemasValue) {
    JobPostingCompensationSchemasValue["Hour"] = "hour";
    JobPostingCompensationSchemasValue["Day"] = "day";
    JobPostingCompensationSchemasValue["Week"] = "week";
    JobPostingCompensationSchemasValue["EveryTwoWeeks"] = "every_two_weeks";
    JobPostingCompensationSchemasValue["Month"] = "month";
    JobPostingCompensationSchemasValue["TwiceAMonth"] = "twice_a_month";
    JobPostingCompensationSchemasValue["EveryTwoMonths"] = "every_two_months";
    JobPostingCompensationSchemasValue["Quarter"] = "quarter";
    JobPostingCompensationSchemasValue["EverySixMonths"] = "every_six_months";
    JobPostingCompensationSchemasValue["Year"] = "year";
    JobPostingCompensationSchemasValue["OneOff"] = "one_off";
    JobPostingCompensationSchemasValue["None"] = "none";
    JobPostingCompensationSchemasValue["UnmappedValue"] = "unmapped_value";
})(JobPostingCompensationSchemasValue || (exports.JobPostingCompensationSchemasValue = JobPostingCompensationSchemasValue = {}));
/**
 * The type of the compensation.
 */
var JobPostingCompensationSchemasTypeValue;
(function (JobPostingCompensationSchemasTypeValue) {
    JobPostingCompensationSchemasTypeValue["Salary"] = "salary";
    JobPostingCompensationSchemasTypeValue["Hourly"] = "hourly";
    JobPostingCompensationSchemasTypeValue["Commission"] = "commission";
    JobPostingCompensationSchemasTypeValue["Bonus"] = "bonus";
    JobPostingCompensationSchemasTypeValue["Equity"] = "equity";
    JobPostingCompensationSchemasTypeValue["Other"] = "other";
    JobPostingCompensationSchemasTypeValue["UnmappedValue"] = "unmapped_value";
})(JobPostingCompensationSchemasTypeValue || (exports.JobPostingCompensationSchemasTypeValue = JobPostingCompensationSchemasTypeValue = {}));
/** @internal */
exports.JobPostingCompensation4$inboundSchema = z.object({});
/** @internal */
exports.JobPostingCompensation4$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 JobPostingCompensation4$;
(function (JobPostingCompensation4$) {
    /** @deprecated use `JobPostingCompensation4$inboundSchema` instead. */
    JobPostingCompensation4$.inboundSchema = exports.JobPostingCompensation4$inboundSchema;
    /** @deprecated use `JobPostingCompensation4$outboundSchema` instead. */
    JobPostingCompensation4$.outboundSchema = exports.JobPostingCompensation4$outboundSchema;
})(JobPostingCompensation4$ || (exports.JobPostingCompensation4$ = JobPostingCompensation4$ = {}));
function jobPostingCompensation4ToJSON(jobPostingCompensation4) {
    return JSON.stringify(exports.JobPostingCompensation4$outboundSchema.parse(jobPostingCompensation4));
}
exports.jobPostingCompensation4ToJSON = jobPostingCompensation4ToJSON;
function jobPostingCompensation4FromJSON(jsonString) {
    return (0, schemas_js_1.safeParse)(jsonString, (x) => exports.JobPostingCompensation4$inboundSchema.parse(JSON.parse(x)), `Failed to parse 'JobPostingCompensation4' from JSON`);
}
exports.jobPostingCompensation4FromJSON = jobPostingCompensation4FromJSON;
/** @internal */
exports.JobPostingCompensationSourceValue$inboundSchema = z.union([
    z.lazy(() => exports.JobPostingCompensation4$inboundSchema),
    z.string(),
    z.number(),
    z.boolean(),
    z.array(z.any()),
]);
/** @internal */
exports.JobPostingCompensationSourceValue$outboundSchema = z.union([
    z.lazy(() => exports.JobPostingCompensation4$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 JobPostingCompensationSourceValue$;
(function (JobPostingCompensationSourceValue$) {
    /** @deprecated use `JobPostingCompensationSourceValue$inboundSchema` instead. */
    JobPostingCompensationSourceValue$.inboundSchema = exports.JobPostingCompensationSourceValue$inboundSchema;
    /** @deprecated use `JobPostingCompensationSourceValue$outboundSchema` instead. */
    JobPostingCompensationSourceValue$.outboundSchema = exports.JobPostingCompensationSourceValue$outboundSchema;
})(JobPostingCompensationSourceValue$ || (exports.JobPostingCompensationSourceValue$ = JobPostingCompensationSourceValue$ = {}));
function jobPostingCompensationSourceValueToJSON(jobPostingCompensationSourceValue) {
    return JSON.stringify(exports.JobPostingCompensationSourceValue$outboundSchema.parse(jobPostingCompensationSourceValue));
}
exports.jobPostingCompensationSourceValueToJSON = jobPostingCompensationSourceValueToJSON;
function jobPostingCompensationSourceValueFromJSON(jsonString) {
    return (0, schemas_js_1.safeParse)(jsonString, (x) => exports.JobPostingCompensationSourceValue$inboundSchema.parse(JSON.parse(x)), `Failed to parse 'JobPostingCompensationSourceValue' from JSON`);
}
exports.jobPostingCompensationSourceValueFromJSON = jobPostingCompensationSourceValueFromJSON;
/** @internal */
exports.JobPostingCompensationValue$inboundSchema = z
    .union([
    z.nativeEnum(JobPostingCompensationValue),
    z.string().transform(enums_js_1.catchUnrecognizedEnum),
]);
/** @internal */
exports.JobPostingCompensationValue$outboundSchema = z.union([
    z.nativeEnum(JobPostingCompensationValue),
    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 JobPostingCompensationValue$;
(function (JobPostingCompensationValue$) {
    /** @deprecated use `JobPostingCompensationValue$inboundSchema` instead. */
    JobPostingCompensationValue$.inboundSchema = exports.JobPostingCompensationValue$inboundSchema;
    /** @deprecated use `JobPostingCompensationValue$outboundSchema` instead. */
    JobPostingCompensationValue$.outboundSchema = exports.JobPostingCompensationValue$outboundSchema;
})(JobPostingCompensationValue$ || (exports.JobPostingCompensationValue$ = JobPostingCompensationValue$ = {}));
/** @internal */
exports.JobPostingCompensationPayFrequency$inboundSchema = z.object({
    source_value: z.nullable(z.union([
        z.lazy(() => exports.JobPostingCompensation4$inboundSchema),
        z.string(),
        z.number(),
        z.boolean(),
        z.array(z.any()),
    ])).optional(),
    value: z.nullable(exports.JobPostingCompensationValue$inboundSchema).optional(),
}).transform((v) => {
    return (0, primitives_js_1.remap)(v, {
        "source_value": "sourceValue",
    });
});
/** @internal */
exports.JobPostingCompensationPayFrequency$outboundSchema = z.object({
    sourceValue: z.nullable(z.union([
        z.lazy(() => exports.JobPostingCompensation4$outboundSchema),
        z.string(),
        z.number(),
        z.boolean(),
        z.array(z.any()),
    ])).optional(),
    value: z.nullable(exports.JobPostingCompensationValue$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 JobPostingCompensationPayFrequency$;
(function (JobPostingCompensationPayFrequency$) {
    /** @deprecated use `JobPostingCompensationPayFrequency$inboundSchema` instead. */
    JobPostingCompensationPayFrequency$.inboundSchema = exports.JobPostingCompensationPayFrequency$inboundSchema;
    /** @deprecated use `JobPostingCompensationPayFrequency$outboundSchema` instead. */
    JobPostingCompensationPayFrequency$.outboundSchema = exports.JobPostingCompensationPayFrequency$outboundSchema;
})(JobPostingCompensationPayFrequency$ || (exports.JobPostingCompensationPayFrequency$ = JobPostingCompensationPayFrequency$ = {}));
function jobPostingCompensationPayFrequencyToJSON(jobPostingCompensationPayFrequency) {
    return JSON.stringify(exports.JobPostingCompensationPayFrequency$outboundSchema.parse(jobPostingCompensationPayFrequency));
}
exports.jobPostingCompensationPayFrequencyToJSON = jobPostingCompensationPayFrequencyToJSON;
function jobPostingCompensationPayFrequencyFromJSON(jsonString) {
    return (0, schemas_js_1.safeParse)(jsonString, (x) => exports.JobPostingCompensationPayFrequency$inboundSchema.parse(JSON.parse(x)), `Failed to parse 'JobPostingCompensationPayFrequency' from JSON`);
}
exports.jobPostingCompensationPayFrequencyFromJSON = jobPostingCompensationPayFrequencyFromJSON;
/** @internal */
exports.JobPostingCompensationSchemas4$inboundSchema = z.object({});
/** @internal */
exports.JobPostingCompensationSchemas4$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 JobPostingCompensationSchemas4$;
(function (JobPostingCompensationSchemas4$) {
    /** @deprecated use `JobPostingCompensationSchemas4$inboundSchema` instead. */
    JobPostingCompensationSchemas4$.inboundSchema = exports.JobPostingCompensationSchemas4$inboundSchema;
    /** @deprecated use `JobPostingCompensationSchemas4$outboundSchema` instead. */
    JobPostingCompensationSchemas4$.outboundSchema = exports.JobPostingCompensationSchemas4$outboundSchema;
})(JobPostingCompensationSchemas4$ || (exports.JobPostingCompensationSchemas4$ = JobPostingCompensationSchemas4$ = {}));
function jobPostingCompensationSchemas4ToJSON(jobPostingCompensationSchemas4) {
    return JSON.stringify(exports.JobPostingCompensationSchemas4$outboundSchema.parse(jobPostingCompensationSchemas4));
}
exports.jobPostingCompensationSchemas4ToJSON = jobPostingCompensationSchemas4ToJSON;
function jobPostingCompensationSchemas4FromJSON(jsonString) {
    return (0, schemas_js_1.safeParse)(jsonString, (x) => exports.JobPostingCompensationSchemas4$inboundSchema.parse(JSON.parse(x)), `Failed to parse 'JobPostingCompensationSchemas4' from JSON`);
}
exports.jobPostingCompensationSchemas4FromJSON = jobPostingCompensationSchemas4FromJSON;
/** @internal */
exports.JobPostingCompensationSchemasSourceValue$inboundSchema = z.union([
    z.lazy(() => exports.JobPostingCompensationSchemas4$inboundSchema),
    z.string(),
    z.number(),
    z.boolean(),
    z.array(z.any()),
]);
/** @internal */
exports.JobPostingCompensationSchemasSourceValue$outboundSchema = z.union([
    z.lazy(() => exports.JobPostingCompensationSchemas4$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 JobPostingCompensationSchemasSourceValue$;
(function (JobPostingCompensationSchemasSourceValue$) {
    /** @deprecated use `JobPostingCompensationSchemasSourceValue$inboundSchema` instead. */
    JobPostingCompensationSchemasSourceValue$.inboundSchema = exports.JobPostingCompensationSchemasSourceValue$inboundSchema;
    /** @deprecated use `JobPostingCompensationSchemasSourceValue$outboundSchema` instead. */
    JobPostingCompensationSchemasSourceValue$.outboundSchema = exports.JobPostingCompensationSchemasSourceValue$outboundSchema;
})(JobPostingCompensationSchemasSourceValue$ || (exports.JobPostingCompensationSchemasSourceValue$ = JobPostingCompensationSchemasSourceValue$ = {}));
function jobPostingCompensationSchemasSourceValueToJSON(jobPostingCompensationSchemasSourceValue) {
    return JSON.stringify(exports.JobPostingCompensationSchemasSourceValue$outboundSchema.parse(jobPostingCompensationSchemasSourceValue));
}
exports.jobPostingCompensationSchemasSourceValueToJSON = jobPostingCompensationSchemasSourceValueToJSON;
function jobPostingCompensationSchemasSourceValueFromJSON(jsonString) {
    return (0, schemas_js_1.safeParse)(jsonString, (x) => exports.JobPostingCompensationSchemasSourceValue$inboundSchema.parse(JSON.parse(x)), `Failed to parse 'JobPostingCompensationSchemasSourceValue' from JSON`);
}
exports.jobPostingCompensationSchemasSourceValueFromJSON = jobPostingCompensationSchemasSourceValueFromJSON;
/** @internal */
exports.JobPostingCompensationSchemasValue$inboundSchema = z
    .union([
    z.nativeEnum(JobPostingCompensationSchemasValue),
    z.string().transform(enums_js_1.catchUnrecognizedEnum),
]);
/** @internal */
exports.JobPostingCompensationSchemasValue$outboundSchema = z.union([
    z.nativeEnum(JobPostingCompensationSchemasValue),
    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 JobPostingCompensationSchemasValue$;
(function (JobPostingCompensationSchemasValue$) {
    /** @deprecated use `JobPostingCompensationSchemasValue$inboundSchema` instead. */
    JobPostingCompensationSchemasValue$.inboundSchema = exports.JobPostingCompensationSchemasValue$inboundSchema;
    /** @deprecated use `JobPostingCompensationSchemasValue$outboundSchema` instead. */
    JobPostingCompensationSchemasValue$.outboundSchema = exports.JobPostingCompensationSchemasValue$outboundSchema;
})(JobPostingCompensationSchemasValue$ || (exports.JobPostingCompensationSchemasValue$ = JobPostingCompensationSchemasValue$ = {}));
/** @internal */
exports.JobPostingCompensationPayPeriod$inboundSchema = z.object({
    source_value: z.nullable(z.union([
        z.lazy(() => exports.JobPostingCompensationSchemas4$inboundSchema),
        z.string(),
        z.number(),
        z.boolean(),
        z.array(z.any()),
    ])).optional(),
    value: z.nullable(exports.JobPostingCompensationSchemasValue$inboundSchema)
        .optional(),
}).transform((v) => {
    return (0, primitives_js_1.remap)(v, {
        "source_value": "sourceValue",
    });
});
/** @internal */
exports.JobPostingCompensationPayPeriod$outboundSchema = z.object({
    sourceValue: z.nullable(z.union([
        z.lazy(() => exports.JobPostingCompensationSchemas4$outboundSchema),
        z.string(),
        z.number(),
        z.boolean(),
        z.array(z.any()),
    ])).optional(),
    value: z.nullable(exports.JobPostingCompensationSchemasValue$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 JobPostingCompensationPayPeriod$;
(function (JobPostingCompensationPayPeriod$) {
    /** @deprecated use `JobPostingCompensationPayPeriod$inboundSchema` instead. */
    JobPostingCompensationPayPeriod$.inboundSchema = exports.JobPostingCompensationPayPeriod$inboundSchema;
    /** @deprecated use `JobPostingCompensationPayPeriod$outboundSchema` instead. */
    JobPostingCompensationPayPeriod$.outboundSchema = exports.JobPostingCompensationPayPeriod$outboundSchema;
})(JobPostingCompensationPayPeriod$ || (exports.JobPostingCompensationPayPeriod$ = JobPostingCompensationPayPeriod$ = {}));
function jobPostingCompensationPayPeriodToJSON(jobPostingCompensationPayPeriod) {
    return JSON.stringify(exports.JobPostingCompensationPayPeriod$outboundSchema.parse(jobPostingCompensationPayPeriod));
}
exports.jobPostingCompensationPayPeriodToJSON = jobPostingCompensationPayPeriodToJSON;
function jobPostingCompensationPayPeriodFromJSON(jsonString) {
    return (0, schemas_js_1.safeParse)(jsonString, (x) => exports.JobPostingCompensationPayPeriod$inboundSchema.parse(JSON.parse(x)), `Failed to parse 'JobPostingCompensationPayPeriod' from JSON`);
}
exports.jobPostingCompensationPayPeriodFromJSON = jobPostingCompensationPayPeriodFromJSON;
/** @internal */
exports.JobPostingCompensationSchemasType4$inboundSchema = z.object({});
/** @internal */
exports.JobPostingCompensationSchemasType4$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 JobPostingCompensationSchemasType4$;
(function (JobPostingCompensationSchemasType4$) {
    /** @deprecated use `JobPostingCompensationSchemasType4$inboundSchema` instead. */
    JobPostingCompensationSchemasType4$.inboundSchema = exports.JobPostingCompensationSchemasType4$inboundSchema;
    /** @deprecated use `JobPostingCompensationSchemasType4$outboundSchema` instead. */
    JobPostingCompensationSchemasType4$.outboundSchema = exports.JobPostingCompensationSchemasType4$outboundSchema;
})(JobPostingCompensationSchemasType4$ || (exports.JobPostingCompensationSchemasType4$ = JobPostingCompensationSchemasType4$ = {}));
function jobPostingCompensationSchemasType4ToJSON(jobPostingCompensationSchemasType4) {
    return JSON.stringify(exports.JobPostingCompensationSchemasType4$outboundSchema.parse(jobPostingCompensationSchemasType4));
}
exports.jobPostingCompensationSchemasType4ToJSON = jobPostingCompensationSchemasType4ToJSON;
function jobPostingCompensationSchemasType4FromJSON(jsonString) {
    return (0, schemas_js_1.safeParse)(jsonString, (x) => exports.JobPostingCompensationSchemasType4$inboundSchema.parse(JSON.parse(x)), `Failed to parse 'JobPostingCompensationSchemasType4' from JSON`);
}
exports.jobPostingCompensationSchemasType4FromJSON = jobPostingCompensationSchemasType4FromJSON;
/** @internal */
exports.JobPostingCompensationSchemasTypeSourceValue$inboundSchema = z.union([
    z.lazy(() => exports.JobPostingCompensationSchemasType4$inboundSchema),
    z.string(),
    z.number(),
    z.boolean(),
    z.array(z.any()),
]);
/** @internal */
exports.JobPostingCompensationSchemasTypeSourceValue$outboundSchema = z.union([
    z.lazy(() => exports.JobPostingCompensationSchemasType4$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 JobPostingCompensationSchemasTypeSourceValue$;
(function (JobPostingCompensationSchemasTypeSourceValue$) {
    /** @deprecated use `JobPostingCompensationSchemasTypeSourceValue$inboundSchema` instead. */
    JobPostingCompensationSchemasTypeSourceValue$.inboundSchema = exports.JobPostingCompensationSchemasTypeSourceValue$inboundSchema;
    /** @deprecated use `JobPostingCompensationSchemasTypeSourceValue$outboundSchema` instead. */
    JobPostingCompensationSchemasTypeSourceValue$.outboundSchema = exports.JobPostingCompensationSchemasTypeSourceValue$outboundSchema;
})(JobPostingCompensationSchemasTypeSourceValue$ || (exports.JobPostingCompensationSchemasTypeSourceValue$ = JobPostingCompensationSchemasTypeSourceValue$ = {}));
function jobPostingCompensationSchemasTypeSourceValueToJSON(jobPostingCompensationSchemasTypeSourceValue) {
    return JSON.stringify(exports.JobPostingCompensationSchemasTypeSourceValue$outboundSchema.parse(jobPostingCompensationSchemasTypeSourceValue));
}
exports.jobPostingCompensationSchemasTypeSourceValueToJSON = jobPostingCompensationSchemasTypeSourceValueToJSON;
function jobPostingCompensationSchemasTypeSourceValueFromJSON(jsonString) {
    return (0, schemas_js_1.safeParse)(jsonString, (x) => exports.JobPostingCompensationSchemasTypeSourceValue$inboundSchema.parse(JSON.parse(x)), `Failed to parse 'JobPostingCompensationSchemasTypeSourceValue' from JSON`);
}
exports.jobPostingCompensationSchemasTypeSourceValueFromJSON = jobPostingCompensationSchemasTypeSourceValueFromJSON;
/** @internal */
exports.JobPostingCompensationSchemasTypeValue$inboundSchema = z
    .union([
    z.nativeEnum(JobPostingCompensationSchemasTypeValue),
    z.string().transform(enums_js_1.catchUnrecognizedEnum),
]);
/** @internal */
exports.JobPostingCompensationSchemasTypeValue$outboundSchema = z.union([
    z.nativeEnum(JobPostingCompensationSchemasTypeValue),
    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 JobPostingCompensationSchemasTypeValue$;
(function (JobPostingCompensationSchemasTypeValue$) {
    /** @deprecated use `JobPostingCompensationSchemasTypeValue$inboundSchema` instead. */
    JobPostingCompensationSchemasTypeValue$.inboundSchema = exports.JobPostingCompensationSchemasTypeValue$inboundSchema;
    /** @deprecated use `JobPostingCompensationSchemasTypeValue$outboundSchema` instead. */
    JobPostingCompensationSchemasTypeValue$.outboundSchema = exports.JobPostingCompensationSchemasTypeValue$outboundSchema;
})(JobPostingCompensationSchemasTypeValue$ || (exports.JobPostingCompensationSchemasTypeValue$ = JobPostingCompensationSchemasTypeValue$ = {}));
/** @internal */
exports.JobPostingCompensationType$inboundSchema = z.object({
    source_value: z.nullable(z.union([
        z.lazy(() => exports.JobPostingCompensationSchemasType4$inboundSchema),
        z.string(),
        z.number(),
        z.boolean(),
        z.array(z.any()),
    ])).optional(),
    value: z.nullable(exports.JobPostingCompensationSchemasTypeValue$inboundSchema)
        .optional(),
}).transform((v) => {
    return (0, primitives_js_1.remap)(v, {
        "source_value": "sourceValue",
    });
});
/** @internal */
exports.JobPostingCompensationType$outboundSchema = z.object({
    sourceValue: z.nullable(z.union([
        z.lazy(() => exports.JobPostingCompensationSchemasType4$outboundSchema),
        z.string(),
        z.number(),
        z.boolean(),
        z.array(z.any()),
    ])).optional(),
    value: z.nullable(exports.JobPostingCompensationSchemasTypeValue$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 JobPostingCompensationType$;
(function (JobPostingCompensationType$) {
    /** @deprecated use `JobPostingCompensationType$inboundSchema` instead. */
    JobPostingCompensationType$.inboundSchema = exports.JobPostingCompensationType$inboundSchema;
    /** @deprecated use `JobPostingCompensationType$outboundSchema` instead. */
    JobPostingCompensationType$.outboundSchema = exports.JobPostingCompensationType$outboundSchema;
})(JobPostingCompensationType$ || (exports.JobPostingCompensationType$ = JobPostingCompensationType$ = {}));
function jobPostingCompensationTypeToJSON(jobPostingCompensationType) {
    return JSON.stringify(exports.JobPostingCompensationType$outboundSchema.parse(jobPostingCompensationType));
}
exports.jobPostingCompensationTypeToJSON = jobPostingCompensationTypeToJSON;
function jobPostingCompensationTypeFromJSON(jsonString) {
    return (0, schemas_js_1.safeParse)(jsonString, (x) => exports.JobPostingCompensationType$inboundSchema.parse(JSON.parse(x)), `Failed to parse 'JobPostingCompensationType' from JSON`);
}
exports.jobPostingCompensationTypeFromJSON = jobPostingCompensationTypeFromJSON;
/** @internal */
exports.JobPostingCompensation$inboundSchema = z.object({
    currency: z.nullable(z.string()).optional(),
    max_value: z.nullable(z.string()).optional(),
    min_value: z.nullable(z.string()).optional(),
    name: z.nullable(z.string()).optional(),
    pay_frequency: z.nullable(z.lazy(() => exports.JobPostingCompensationPayFrequency$inboundSchema)).optional(),
    pay_period: z.nullable(z.lazy(() => exports.JobPostingCompensationPayPeriod$inboundSchema)).optional(),
    type: z.nullable(z.lazy(() => exports.JobPostingCompensationType$inboundSchema))
        .optional(),
    value: z.nullable(z.string()).optional(),
}).transform((v) => {
    return (0, primitives_js_1.remap)(v, {
        "max_value": "maxValue",
        "min_value": "minValue",
        "pay_frequency": "payFrequency",
        "pay_period": "payPeriod",
    });
});
/** @internal */
exports.JobPostingCompensation$outboundSchema = z.object({
    currency: z.nullable(z.string()).optional(),
    maxValue: z.nullable(z.string()).optional(),
    minValue: z.nullable(z.string()).optional(),
    name: z.nullable(z.string()).optional(),
    payFrequency: z.nullable(z.lazy(() => exports.JobPostingCompensationPayFrequency$outboundSchema)).optional(),
    payPeriod: z.nullable(z.lazy(() => exports.JobPostingCompensationPayPeriod$outboundSchema)).optional(),
    type: z.nullable(z.lazy(() => exports.JobPostingCompensationType$outboundSchema))
        .optional(),
    value: z.nullable(z.string()).optional(),
}).transform((v) => {
    return (0, primitives_js_1.remap)(v, {
        maxValue: "max_value",
        minValue: "min_value",
        payFrequency: "pay_frequency",
        payPeriod: "pay_period",
    });
});
/**
 * @internal
 * @deprecated This namespace will be removed in future versions. Use schemas and types that are exported directly from this module.
 */
var JobPostingCompensation$;
(function (JobPostingCompensation$) {
    /** @deprecated use `JobPostingCompensation$inboundSchema` instead. */
    JobPostingCompensation$.inboundSchema = exports.JobPostingCompensation$inboundSchema;
    /** @deprecated use `JobPostingCompensation$outboundSchema` instead. */
    JobPostingCompensation$.outboundSchema = exports.JobPostingCompensation$outboundSchema;
})(JobPostingCompensation$ || (exports.JobPostingCompensation$ = JobPostingCompensation$ = {}));
function jobPostingCompensationToJSON(jobPostingCompensation) {
    return JSON.stringify(exports.JobPostingCompensation$outboundSchema.parse(jobPostingCompensation));
}
exports.jobPostingCompensationToJSON = jobPostingCompensationToJSON;
function jobPostingCompensationFromJSON(jsonString) {
    return (0, schemas_js_1.safeParse)(jsonString, (x) => exports.JobPostingCompensation$inboundSchema.parse(JSON.parse(x)), `Failed to parse 'JobPostingCompensation' from JSON`);
}
exports.jobPostingCompensationFromJSON = jobPostingCompensationFromJSON;
//# sourceMappingURL=jobpostingcompensation.js.map