/*
 * Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT.
 */
import * as z from "zod";
import { remap as remap$ } from "../../lib/primitives.js";
import { safeParse } from "../../lib/schemas.js";
export const PutDemographicsStatus = {
    Active: "active",
    Tobedeleted: "tobedeleted",
};
export const PutDemographicsSex = {
    Male: "male",
    Female: "female",
};
export const PutDemographicsAmericanIndianOrAlaskaNative = {
    True: "true",
    False: "false",
};
export const PutDemographicsAsian = {
    True: "true",
    False: "false",
};
export const PutDemographicsBlackOrAfricanAmerican = {
    True: "true",
    False: "false",
};
export const PutDemographicsNativeHawaiianOrOtherPacificIslander = {
    True: "true",
    False: "false",
};
export const PutDemographicsWhite = {
    True: "true",
    False: "false",
};
export const PutDemographicsDemographicRaceTwoOrMoreRaces = {
    True: "true",
    False: "false",
};
export const PutDemographicsHispanicOrLatinoEthnicity = {
    True: "true",
    False: "false",
};
/** @internal */
export const PutDemographicsStatus$inboundSchema = z.nativeEnum(PutDemographicsStatus);
/** @internal */
export const PutDemographicsStatus$outboundSchema = PutDemographicsStatus$inboundSchema;
/**
 * @internal
 * @deprecated This namespace will be removed in future versions. Use schemas and types that are exported directly from this module.
 */
export var PutDemographicsStatus$;
(function (PutDemographicsStatus$) {
    /** @deprecated use `PutDemographicsStatus$inboundSchema` instead. */
    PutDemographicsStatus$.inboundSchema = PutDemographicsStatus$inboundSchema;
    /** @deprecated use `PutDemographicsStatus$outboundSchema` instead. */
    PutDemographicsStatus$.outboundSchema = PutDemographicsStatus$outboundSchema;
})(PutDemographicsStatus$ || (PutDemographicsStatus$ = {}));
/** @internal */
export const PutDemographicsSex$inboundSchema = z.nativeEnum(PutDemographicsSex);
/** @internal */
export const PutDemographicsSex$outboundSchema = PutDemographicsSex$inboundSchema;
/**
 * @internal
 * @deprecated This namespace will be removed in future versions. Use schemas and types that are exported directly from this module.
 */
export var PutDemographicsSex$;
(function (PutDemographicsSex$) {
    /** @deprecated use `PutDemographicsSex$inboundSchema` instead. */
    PutDemographicsSex$.inboundSchema = PutDemographicsSex$inboundSchema;
    /** @deprecated use `PutDemographicsSex$outboundSchema` instead. */
    PutDemographicsSex$.outboundSchema = PutDemographicsSex$outboundSchema;
})(PutDemographicsSex$ || (PutDemographicsSex$ = {}));
/** @internal */
export const PutDemographicsAmericanIndianOrAlaskaNative$inboundSchema = z
    .nativeEnum(PutDemographicsAmericanIndianOrAlaskaNative);
/** @internal */
export const PutDemographicsAmericanIndianOrAlaskaNative$outboundSchema = PutDemographicsAmericanIndianOrAlaskaNative$inboundSchema;
/**
 * @internal
 * @deprecated This namespace will be removed in future versions. Use schemas and types that are exported directly from this module.
 */
export var PutDemographicsAmericanIndianOrAlaskaNative$;
(function (PutDemographicsAmericanIndianOrAlaskaNative$) {
    /** @deprecated use `PutDemographicsAmericanIndianOrAlaskaNative$inboundSchema` instead. */
    PutDemographicsAmericanIndianOrAlaskaNative$.inboundSchema = PutDemographicsAmericanIndianOrAlaskaNative$inboundSchema;
    /** @deprecated use `PutDemographicsAmericanIndianOrAlaskaNative$outboundSchema` instead. */
    PutDemographicsAmericanIndianOrAlaskaNative$.outboundSchema = PutDemographicsAmericanIndianOrAlaskaNative$outboundSchema;
})(PutDemographicsAmericanIndianOrAlaskaNative$ || (PutDemographicsAmericanIndianOrAlaskaNative$ = {}));
/** @internal */
export const PutDemographicsAsian$inboundSchema = z.nativeEnum(PutDemographicsAsian);
/** @internal */
export const PutDemographicsAsian$outboundSchema = PutDemographicsAsian$inboundSchema;
/**
 * @internal
 * @deprecated This namespace will be removed in future versions. Use schemas and types that are exported directly from this module.
 */
export var PutDemographicsAsian$;
(function (PutDemographicsAsian$) {
    /** @deprecated use `PutDemographicsAsian$inboundSchema` instead. */
    PutDemographicsAsian$.inboundSchema = PutDemographicsAsian$inboundSchema;
    /** @deprecated use `PutDemographicsAsian$outboundSchema` instead. */
    PutDemographicsAsian$.outboundSchema = PutDemographicsAsian$outboundSchema;
})(PutDemographicsAsian$ || (PutDemographicsAsian$ = {}));
/** @internal */
export const PutDemographicsBlackOrAfricanAmerican$inboundSchema = z.nativeEnum(PutDemographicsBlackOrAfricanAmerican);
/** @internal */
export const PutDemographicsBlackOrAfricanAmerican$outboundSchema = PutDemographicsBlackOrAfricanAmerican$inboundSchema;
/**
 * @internal
 * @deprecated This namespace will be removed in future versions. Use schemas and types that are exported directly from this module.
 */
export var PutDemographicsBlackOrAfricanAmerican$;
(function (PutDemographicsBlackOrAfricanAmerican$) {
    /** @deprecated use `PutDemographicsBlackOrAfricanAmerican$inboundSchema` instead. */
    PutDemographicsBlackOrAfricanAmerican$.inboundSchema = PutDemographicsBlackOrAfricanAmerican$inboundSchema;
    /** @deprecated use `PutDemographicsBlackOrAfricanAmerican$outboundSchema` instead. */
    PutDemographicsBlackOrAfricanAmerican$.outboundSchema = PutDemographicsBlackOrAfricanAmerican$outboundSchema;
})(PutDemographicsBlackOrAfricanAmerican$ || (PutDemographicsBlackOrAfricanAmerican$ = {}));
/** @internal */
export const PutDemographicsNativeHawaiianOrOtherPacificIslander$inboundSchema = z.nativeEnum(PutDemographicsNativeHawaiianOrOtherPacificIslander);
/** @internal */
export const PutDemographicsNativeHawaiianOrOtherPacificIslander$outboundSchema = PutDemographicsNativeHawaiianOrOtherPacificIslander$inboundSchema;
/**
 * @internal
 * @deprecated This namespace will be removed in future versions. Use schemas and types that are exported directly from this module.
 */
export var PutDemographicsNativeHawaiianOrOtherPacificIslander$;
(function (PutDemographicsNativeHawaiianOrOtherPacificIslander$) {
    /** @deprecated use `PutDemographicsNativeHawaiianOrOtherPacificIslander$inboundSchema` instead. */
    PutDemographicsNativeHawaiianOrOtherPacificIslander$.inboundSchema = PutDemographicsNativeHawaiianOrOtherPacificIslander$inboundSchema;
    /** @deprecated use `PutDemographicsNativeHawaiianOrOtherPacificIslander$outboundSchema` instead. */
    PutDemographicsNativeHawaiianOrOtherPacificIslander$.outboundSchema = PutDemographicsNativeHawaiianOrOtherPacificIslander$outboundSchema;
})(PutDemographicsNativeHawaiianOrOtherPacificIslander$ || (PutDemographicsNativeHawaiianOrOtherPacificIslander$ = {}));
/** @internal */
export const PutDemographicsWhite$inboundSchema = z.nativeEnum(PutDemographicsWhite);
/** @internal */
export const PutDemographicsWhite$outboundSchema = PutDemographicsWhite$inboundSchema;
/**
 * @internal
 * @deprecated This namespace will be removed in future versions. Use schemas and types that are exported directly from this module.
 */
export var PutDemographicsWhite$;
(function (PutDemographicsWhite$) {
    /** @deprecated use `PutDemographicsWhite$inboundSchema` instead. */
    PutDemographicsWhite$.inboundSchema = PutDemographicsWhite$inboundSchema;
    /** @deprecated use `PutDemographicsWhite$outboundSchema` instead. */
    PutDemographicsWhite$.outboundSchema = PutDemographicsWhite$outboundSchema;
})(PutDemographicsWhite$ || (PutDemographicsWhite$ = {}));
/** @internal */
export const PutDemographicsDemographicRaceTwoOrMoreRaces$inboundSchema = z
    .nativeEnum(PutDemographicsDemographicRaceTwoOrMoreRaces);
/** @internal */
export const PutDemographicsDemographicRaceTwoOrMoreRaces$outboundSchema = PutDemographicsDemographicRaceTwoOrMoreRaces$inboundSchema;
/**
 * @internal
 * @deprecated This namespace will be removed in future versions. Use schemas and types that are exported directly from this module.
 */
export var PutDemographicsDemographicRaceTwoOrMoreRaces$;
(function (PutDemographicsDemographicRaceTwoOrMoreRaces$) {
    /** @deprecated use `PutDemographicsDemographicRaceTwoOrMoreRaces$inboundSchema` instead. */
    PutDemographicsDemographicRaceTwoOrMoreRaces$.inboundSchema = PutDemographicsDemographicRaceTwoOrMoreRaces$inboundSchema;
    /** @deprecated use `PutDemographicsDemographicRaceTwoOrMoreRaces$outboundSchema` instead. */
    PutDemographicsDemographicRaceTwoOrMoreRaces$.outboundSchema = PutDemographicsDemographicRaceTwoOrMoreRaces$outboundSchema;
})(PutDemographicsDemographicRaceTwoOrMoreRaces$ || (PutDemographicsDemographicRaceTwoOrMoreRaces$ = {}));
/** @internal */
export const PutDemographicsHispanicOrLatinoEthnicity$inboundSchema = z
    .nativeEnum(PutDemographicsHispanicOrLatinoEthnicity);
/** @internal */
export const PutDemographicsHispanicOrLatinoEthnicity$outboundSchema = PutDemographicsHispanicOrLatinoEthnicity$inboundSchema;
/**
 * @internal
 * @deprecated This namespace will be removed in future versions. Use schemas and types that are exported directly from this module.
 */
export var PutDemographicsHispanicOrLatinoEthnicity$;
(function (PutDemographicsHispanicOrLatinoEthnicity$) {
    /** @deprecated use `PutDemographicsHispanicOrLatinoEthnicity$inboundSchema` instead. */
    PutDemographicsHispanicOrLatinoEthnicity$.inboundSchema = PutDemographicsHispanicOrLatinoEthnicity$inboundSchema;
    /** @deprecated use `PutDemographicsHispanicOrLatinoEthnicity$outboundSchema` instead. */
    PutDemographicsHispanicOrLatinoEthnicity$.outboundSchema = PutDemographicsHispanicOrLatinoEthnicity$outboundSchema;
})(PutDemographicsHispanicOrLatinoEthnicity$ || (PutDemographicsHispanicOrLatinoEthnicity$ = {}));
/** @internal */
export const PutDemographicsDemographics$inboundSchema = z.object({
    sourcedId: z.string(),
    status: PutDemographicsStatus$inboundSchema.default("active"),
    metadata: z.record(z.any()).optional(),
    birthDate: z.nullable(z.string()).optional(),
    sex: z.nullable(PutDemographicsSex$inboundSchema).optional(),
    americanIndianOrAlaskaNative: z.nullable(PutDemographicsAmericanIndianOrAlaskaNative$inboundSchema).optional(),
    asian: z.nullable(PutDemographicsAsian$inboundSchema).optional(),
    blackOrAfricanAmerican: z.nullable(PutDemographicsBlackOrAfricanAmerican$inboundSchema).optional(),
    nativeHawaiianOrOtherPacificIslander: z.nullable(PutDemographicsNativeHawaiianOrOtherPacificIslander$inboundSchema).optional(),
    white: z.nullable(PutDemographicsWhite$inboundSchema).optional(),
    demographicRaceTwoOrMoreRaces: z.nullable(PutDemographicsDemographicRaceTwoOrMoreRaces$inboundSchema).optional(),
    hispanicOrLatinoEthnicity: z.nullable(PutDemographicsHispanicOrLatinoEthnicity$inboundSchema).optional(),
    countryOfBirthCode: z.nullable(z.string()).optional(),
    stateOfBirthAbbreviation: z.nullable(z.string()).optional(),
    cityOfBirth: z.nullable(z.string()).optional(),
    publicSchoolResidenceStatus: z.nullable(z.string()).optional(),
});
/** @internal */
export const PutDemographicsDemographics$outboundSchema = z.object({
    sourcedId: z.string(),
    status: PutDemographicsStatus$outboundSchema.default("active"),
    metadata: z.record(z.any()).optional(),
    birthDate: z.nullable(z.string()).optional(),
    sex: z.nullable(PutDemographicsSex$outboundSchema).optional(),
    americanIndianOrAlaskaNative: z.nullable(PutDemographicsAmericanIndianOrAlaskaNative$outboundSchema).optional(),
    asian: z.nullable(PutDemographicsAsian$outboundSchema).optional(),
    blackOrAfricanAmerican: z.nullable(PutDemographicsBlackOrAfricanAmerican$outboundSchema).optional(),
    nativeHawaiianOrOtherPacificIslander: z.nullable(PutDemographicsNativeHawaiianOrOtherPacificIslander$outboundSchema).optional(),
    white: z.nullable(PutDemographicsWhite$outboundSchema).optional(),
    demographicRaceTwoOrMoreRaces: z.nullable(PutDemographicsDemographicRaceTwoOrMoreRaces$outboundSchema).optional(),
    hispanicOrLatinoEthnicity: z.nullable(PutDemographicsHispanicOrLatinoEthnicity$outboundSchema).optional(),
    countryOfBirthCode: z.nullable(z.string()).optional(),
    stateOfBirthAbbreviation: z.nullable(z.string()).optional(),
    cityOfBirth: z.nullable(z.string()).optional(),
    publicSchoolResidenceStatus: 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.
 */
export var PutDemographicsDemographics$;
(function (PutDemographicsDemographics$) {
    /** @deprecated use `PutDemographicsDemographics$inboundSchema` instead. */
    PutDemographicsDemographics$.inboundSchema = PutDemographicsDemographics$inboundSchema;
    /** @deprecated use `PutDemographicsDemographics$outboundSchema` instead. */
    PutDemographicsDemographics$.outboundSchema = PutDemographicsDemographics$outboundSchema;
})(PutDemographicsDemographics$ || (PutDemographicsDemographics$ = {}));
export function putDemographicsDemographicsToJSON(putDemographicsDemographics) {
    return JSON.stringify(PutDemographicsDemographics$outboundSchema.parse(putDemographicsDemographics));
}
export function putDemographicsDemographicsFromJSON(jsonString) {
    return safeParse(jsonString, (x) => PutDemographicsDemographics$inboundSchema.parse(JSON.parse(x)), `Failed to parse 'PutDemographicsDemographics' from JSON`);
}
/** @internal */
export const PutDemographicsRequestBody$inboundSchema = z.object({
    demographics: z.lazy(() => PutDemographicsDemographics$inboundSchema),
});
/** @internal */
export const PutDemographicsRequestBody$outboundSchema = z.object({
    demographics: z.lazy(() => PutDemographicsDemographics$outboundSchema),
});
/**
 * @internal
 * @deprecated This namespace will be removed in future versions. Use schemas and types that are exported directly from this module.
 */
export var PutDemographicsRequestBody$;
(function (PutDemographicsRequestBody$) {
    /** @deprecated use `PutDemographicsRequestBody$inboundSchema` instead. */
    PutDemographicsRequestBody$.inboundSchema = PutDemographicsRequestBody$inboundSchema;
    /** @deprecated use `PutDemographicsRequestBody$outboundSchema` instead. */
    PutDemographicsRequestBody$.outboundSchema = PutDemographicsRequestBody$outboundSchema;
})(PutDemographicsRequestBody$ || (PutDemographicsRequestBody$ = {}));
export function putDemographicsRequestBodyToJSON(putDemographicsRequestBody) {
    return JSON.stringify(PutDemographicsRequestBody$outboundSchema.parse(putDemographicsRequestBody));
}
export function putDemographicsRequestBodyFromJSON(jsonString) {
    return safeParse(jsonString, (x) => PutDemographicsRequestBody$inboundSchema.parse(JSON.parse(x)), `Failed to parse 'PutDemographicsRequestBody' from JSON`);
}
/** @internal */
export const PutDemographicsRequest$inboundSchema = z.object({
    sourcedId: z.string(),
    RequestBody: z.lazy(() => PutDemographicsRequestBody$inboundSchema)
        .optional(),
}).transform((v) => {
    return remap$(v, {
        "RequestBody": "requestBody",
    });
});
/** @internal */
export const PutDemographicsRequest$outboundSchema = z.object({
    sourcedId: z.string(),
    requestBody: z.lazy(() => PutDemographicsRequestBody$outboundSchema)
        .optional(),
}).transform((v) => {
    return remap$(v, {
        requestBody: "RequestBody",
    });
});
/**
 * @internal
 * @deprecated This namespace will be removed in future versions. Use schemas and types that are exported directly from this module.
 */
export var PutDemographicsRequest$;
(function (PutDemographicsRequest$) {
    /** @deprecated use `PutDemographicsRequest$inboundSchema` instead. */
    PutDemographicsRequest$.inboundSchema = PutDemographicsRequest$inboundSchema;
    /** @deprecated use `PutDemographicsRequest$outboundSchema` instead. */
    PutDemographicsRequest$.outboundSchema = PutDemographicsRequest$outboundSchema;
})(PutDemographicsRequest$ || (PutDemographicsRequest$ = {}));
export function putDemographicsRequestToJSON(putDemographicsRequest) {
    return JSON.stringify(PutDemographicsRequest$outboundSchema.parse(putDemographicsRequest));
}
export function putDemographicsRequestFromJSON(jsonString) {
    return safeParse(jsonString, (x) => PutDemographicsRequest$inboundSchema.parse(JSON.parse(x)), `Failed to parse 'PutDemographicsRequest' from JSON`);
}
//# sourceMappingURL=putdemographics.js.map