/*
 * Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT.
 */
import * as z from "zod";
import { safeParse } from "../../lib/schemas.js";
export const PostDemographicsStatus = {
    Active: "active",
    Tobedeleted: "tobedeleted",
};
export const PostDemographicsSex = {
    Male: "male",
    Female: "female",
};
export const PostDemographicsAmericanIndianOrAlaskaNative = {
    True: "true",
    False: "false",
};
export const PostDemographicsAsian = {
    True: "true",
    False: "false",
};
export const PostDemographicsBlackOrAfricanAmerican = {
    True: "true",
    False: "false",
};
export const PostDemographicsNativeHawaiianOrOtherPacificIslander = {
    True: "true",
    False: "false",
};
export const PostDemographicsWhite = {
    True: "true",
    False: "false",
};
export const PostDemographicsDemographicRaceTwoOrMoreRaces = {
    True: "true",
    False: "false",
};
export const PostDemographicsHispanicOrLatinoEthnicity = {
    True: "true",
    False: "false",
};
/** @internal */
export const PostDemographicsStatus$inboundSchema = z.nativeEnum(PostDemographicsStatus);
/** @internal */
export const PostDemographicsStatus$outboundSchema = PostDemographicsStatus$inboundSchema;
/**
 * @internal
 * @deprecated This namespace will be removed in future versions. Use schemas and types that are exported directly from this module.
 */
export var PostDemographicsStatus$;
(function (PostDemographicsStatus$) {
    /** @deprecated use `PostDemographicsStatus$inboundSchema` instead. */
    PostDemographicsStatus$.inboundSchema = PostDemographicsStatus$inboundSchema;
    /** @deprecated use `PostDemographicsStatus$outboundSchema` instead. */
    PostDemographicsStatus$.outboundSchema = PostDemographicsStatus$outboundSchema;
})(PostDemographicsStatus$ || (PostDemographicsStatus$ = {}));
/** @internal */
export const PostDemographicsSex$inboundSchema = z.nativeEnum(PostDemographicsSex);
/** @internal */
export const PostDemographicsSex$outboundSchema = PostDemographicsSex$inboundSchema;
/**
 * @internal
 * @deprecated This namespace will be removed in future versions. Use schemas and types that are exported directly from this module.
 */
export var PostDemographicsSex$;
(function (PostDemographicsSex$) {
    /** @deprecated use `PostDemographicsSex$inboundSchema` instead. */
    PostDemographicsSex$.inboundSchema = PostDemographicsSex$inboundSchema;
    /** @deprecated use `PostDemographicsSex$outboundSchema` instead. */
    PostDemographicsSex$.outboundSchema = PostDemographicsSex$outboundSchema;
})(PostDemographicsSex$ || (PostDemographicsSex$ = {}));
/** @internal */
export const PostDemographicsAmericanIndianOrAlaskaNative$inboundSchema = z
    .nativeEnum(PostDemographicsAmericanIndianOrAlaskaNative);
/** @internal */
export const PostDemographicsAmericanIndianOrAlaskaNative$outboundSchema = PostDemographicsAmericanIndianOrAlaskaNative$inboundSchema;
/**
 * @internal
 * @deprecated This namespace will be removed in future versions. Use schemas and types that are exported directly from this module.
 */
export var PostDemographicsAmericanIndianOrAlaskaNative$;
(function (PostDemographicsAmericanIndianOrAlaskaNative$) {
    /** @deprecated use `PostDemographicsAmericanIndianOrAlaskaNative$inboundSchema` instead. */
    PostDemographicsAmericanIndianOrAlaskaNative$.inboundSchema = PostDemographicsAmericanIndianOrAlaskaNative$inboundSchema;
    /** @deprecated use `PostDemographicsAmericanIndianOrAlaskaNative$outboundSchema` instead. */
    PostDemographicsAmericanIndianOrAlaskaNative$.outboundSchema = PostDemographicsAmericanIndianOrAlaskaNative$outboundSchema;
})(PostDemographicsAmericanIndianOrAlaskaNative$ || (PostDemographicsAmericanIndianOrAlaskaNative$ = {}));
/** @internal */
export const PostDemographicsAsian$inboundSchema = z.nativeEnum(PostDemographicsAsian);
/** @internal */
export const PostDemographicsAsian$outboundSchema = PostDemographicsAsian$inboundSchema;
/**
 * @internal
 * @deprecated This namespace will be removed in future versions. Use schemas and types that are exported directly from this module.
 */
export var PostDemographicsAsian$;
(function (PostDemographicsAsian$) {
    /** @deprecated use `PostDemographicsAsian$inboundSchema` instead. */
    PostDemographicsAsian$.inboundSchema = PostDemographicsAsian$inboundSchema;
    /** @deprecated use `PostDemographicsAsian$outboundSchema` instead. */
    PostDemographicsAsian$.outboundSchema = PostDemographicsAsian$outboundSchema;
})(PostDemographicsAsian$ || (PostDemographicsAsian$ = {}));
/** @internal */
export const PostDemographicsBlackOrAfricanAmerican$inboundSchema = z.nativeEnum(PostDemographicsBlackOrAfricanAmerican);
/** @internal */
export const PostDemographicsBlackOrAfricanAmerican$outboundSchema = PostDemographicsBlackOrAfricanAmerican$inboundSchema;
/**
 * @internal
 * @deprecated This namespace will be removed in future versions. Use schemas and types that are exported directly from this module.
 */
export var PostDemographicsBlackOrAfricanAmerican$;
(function (PostDemographicsBlackOrAfricanAmerican$) {
    /** @deprecated use `PostDemographicsBlackOrAfricanAmerican$inboundSchema` instead. */
    PostDemographicsBlackOrAfricanAmerican$.inboundSchema = PostDemographicsBlackOrAfricanAmerican$inboundSchema;
    /** @deprecated use `PostDemographicsBlackOrAfricanAmerican$outboundSchema` instead. */
    PostDemographicsBlackOrAfricanAmerican$.outboundSchema = PostDemographicsBlackOrAfricanAmerican$outboundSchema;
})(PostDemographicsBlackOrAfricanAmerican$ || (PostDemographicsBlackOrAfricanAmerican$ = {}));
/** @internal */
export const PostDemographicsNativeHawaiianOrOtherPacificIslander$inboundSchema = z.nativeEnum(PostDemographicsNativeHawaiianOrOtherPacificIslander);
/** @internal */
export const PostDemographicsNativeHawaiianOrOtherPacificIslander$outboundSchema = PostDemographicsNativeHawaiianOrOtherPacificIslander$inboundSchema;
/**
 * @internal
 * @deprecated This namespace will be removed in future versions. Use schemas and types that are exported directly from this module.
 */
export var PostDemographicsNativeHawaiianOrOtherPacificIslander$;
(function (PostDemographicsNativeHawaiianOrOtherPacificIslander$) {
    /** @deprecated use `PostDemographicsNativeHawaiianOrOtherPacificIslander$inboundSchema` instead. */
    PostDemographicsNativeHawaiianOrOtherPacificIslander$.inboundSchema = PostDemographicsNativeHawaiianOrOtherPacificIslander$inboundSchema;
    /** @deprecated use `PostDemographicsNativeHawaiianOrOtherPacificIslander$outboundSchema` instead. */
    PostDemographicsNativeHawaiianOrOtherPacificIslander$.outboundSchema = PostDemographicsNativeHawaiianOrOtherPacificIslander$outboundSchema;
})(PostDemographicsNativeHawaiianOrOtherPacificIslander$ || (PostDemographicsNativeHawaiianOrOtherPacificIslander$ = {}));
/** @internal */
export const PostDemographicsWhite$inboundSchema = z.nativeEnum(PostDemographicsWhite);
/** @internal */
export const PostDemographicsWhite$outboundSchema = PostDemographicsWhite$inboundSchema;
/**
 * @internal
 * @deprecated This namespace will be removed in future versions. Use schemas and types that are exported directly from this module.
 */
export var PostDemographicsWhite$;
(function (PostDemographicsWhite$) {
    /** @deprecated use `PostDemographicsWhite$inboundSchema` instead. */
    PostDemographicsWhite$.inboundSchema = PostDemographicsWhite$inboundSchema;
    /** @deprecated use `PostDemographicsWhite$outboundSchema` instead. */
    PostDemographicsWhite$.outboundSchema = PostDemographicsWhite$outboundSchema;
})(PostDemographicsWhite$ || (PostDemographicsWhite$ = {}));
/** @internal */
export const PostDemographicsDemographicRaceTwoOrMoreRaces$inboundSchema = z
    .nativeEnum(PostDemographicsDemographicRaceTwoOrMoreRaces);
/** @internal */
export const PostDemographicsDemographicRaceTwoOrMoreRaces$outboundSchema = PostDemographicsDemographicRaceTwoOrMoreRaces$inboundSchema;
/**
 * @internal
 * @deprecated This namespace will be removed in future versions. Use schemas and types that are exported directly from this module.
 */
export var PostDemographicsDemographicRaceTwoOrMoreRaces$;
(function (PostDemographicsDemographicRaceTwoOrMoreRaces$) {
    /** @deprecated use `PostDemographicsDemographicRaceTwoOrMoreRaces$inboundSchema` instead. */
    PostDemographicsDemographicRaceTwoOrMoreRaces$.inboundSchema = PostDemographicsDemographicRaceTwoOrMoreRaces$inboundSchema;
    /** @deprecated use `PostDemographicsDemographicRaceTwoOrMoreRaces$outboundSchema` instead. */
    PostDemographicsDemographicRaceTwoOrMoreRaces$.outboundSchema = PostDemographicsDemographicRaceTwoOrMoreRaces$outboundSchema;
})(PostDemographicsDemographicRaceTwoOrMoreRaces$ || (PostDemographicsDemographicRaceTwoOrMoreRaces$ = {}));
/** @internal */
export const PostDemographicsHispanicOrLatinoEthnicity$inboundSchema = z
    .nativeEnum(PostDemographicsHispanicOrLatinoEthnicity);
/** @internal */
export const PostDemographicsHispanicOrLatinoEthnicity$outboundSchema = PostDemographicsHispanicOrLatinoEthnicity$inboundSchema;
/**
 * @internal
 * @deprecated This namespace will be removed in future versions. Use schemas and types that are exported directly from this module.
 */
export var PostDemographicsHispanicOrLatinoEthnicity$;
(function (PostDemographicsHispanicOrLatinoEthnicity$) {
    /** @deprecated use `PostDemographicsHispanicOrLatinoEthnicity$inboundSchema` instead. */
    PostDemographicsHispanicOrLatinoEthnicity$.inboundSchema = PostDemographicsHispanicOrLatinoEthnicity$inboundSchema;
    /** @deprecated use `PostDemographicsHispanicOrLatinoEthnicity$outboundSchema` instead. */
    PostDemographicsHispanicOrLatinoEthnicity$.outboundSchema = PostDemographicsHispanicOrLatinoEthnicity$outboundSchema;
})(PostDemographicsHispanicOrLatinoEthnicity$ || (PostDemographicsHispanicOrLatinoEthnicity$ = {}));
/** @internal */
export const PostDemographicsDemographics$inboundSchema = z.object({
    sourcedId: z.string(),
    status: PostDemographicsStatus$inboundSchema.default("active"),
    metadata: z.record(z.any()).optional(),
    birthDate: z.nullable(z.string()).optional(),
    sex: z.nullable(PostDemographicsSex$inboundSchema).optional(),
    americanIndianOrAlaskaNative: z.nullable(PostDemographicsAmericanIndianOrAlaskaNative$inboundSchema).optional(),
    asian: z.nullable(PostDemographicsAsian$inboundSchema).optional(),
    blackOrAfricanAmerican: z.nullable(PostDemographicsBlackOrAfricanAmerican$inboundSchema).optional(),
    nativeHawaiianOrOtherPacificIslander: z.nullable(PostDemographicsNativeHawaiianOrOtherPacificIslander$inboundSchema).optional(),
    white: z.nullable(PostDemographicsWhite$inboundSchema).optional(),
    demographicRaceTwoOrMoreRaces: z.nullable(PostDemographicsDemographicRaceTwoOrMoreRaces$inboundSchema).optional(),
    hispanicOrLatinoEthnicity: z.nullable(PostDemographicsHispanicOrLatinoEthnicity$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 PostDemographicsDemographics$outboundSchema = z.object({
    sourcedId: z.string(),
    status: PostDemographicsStatus$outboundSchema.default("active"),
    metadata: z.record(z.any()).optional(),
    birthDate: z.nullable(z.string()).optional(),
    sex: z.nullable(PostDemographicsSex$outboundSchema).optional(),
    americanIndianOrAlaskaNative: z.nullable(PostDemographicsAmericanIndianOrAlaskaNative$outboundSchema).optional(),
    asian: z.nullable(PostDemographicsAsian$outboundSchema).optional(),
    blackOrAfricanAmerican: z.nullable(PostDemographicsBlackOrAfricanAmerican$outboundSchema).optional(),
    nativeHawaiianOrOtherPacificIslander: z.nullable(PostDemographicsNativeHawaiianOrOtherPacificIslander$outboundSchema).optional(),
    white: z.nullable(PostDemographicsWhite$outboundSchema).optional(),
    demographicRaceTwoOrMoreRaces: z.nullable(PostDemographicsDemographicRaceTwoOrMoreRaces$outboundSchema).optional(),
    hispanicOrLatinoEthnicity: z.nullable(PostDemographicsHispanicOrLatinoEthnicity$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 PostDemographicsDemographics$;
(function (PostDemographicsDemographics$) {
    /** @deprecated use `PostDemographicsDemographics$inboundSchema` instead. */
    PostDemographicsDemographics$.inboundSchema = PostDemographicsDemographics$inboundSchema;
    /** @deprecated use `PostDemographicsDemographics$outboundSchema` instead. */
    PostDemographicsDemographics$.outboundSchema = PostDemographicsDemographics$outboundSchema;
})(PostDemographicsDemographics$ || (PostDemographicsDemographics$ = {}));
export function postDemographicsDemographicsToJSON(postDemographicsDemographics) {
    return JSON.stringify(PostDemographicsDemographics$outboundSchema.parse(postDemographicsDemographics));
}
export function postDemographicsDemographicsFromJSON(jsonString) {
    return safeParse(jsonString, (x) => PostDemographicsDemographics$inboundSchema.parse(JSON.parse(x)), `Failed to parse 'PostDemographicsDemographics' from JSON`);
}
/** @internal */
export const PostDemographicsRequest$inboundSchema = z.object({
    demographics: z.lazy(() => PostDemographicsDemographics$inboundSchema),
});
/** @internal */
export const PostDemographicsRequest$outboundSchema = z.object({
    demographics: z.lazy(() => PostDemographicsDemographics$outboundSchema),
});
/**
 * @internal
 * @deprecated This namespace will be removed in future versions. Use schemas and types that are exported directly from this module.
 */
export var PostDemographicsRequest$;
(function (PostDemographicsRequest$) {
    /** @deprecated use `PostDemographicsRequest$inboundSchema` instead. */
    PostDemographicsRequest$.inboundSchema = PostDemographicsRequest$inboundSchema;
    /** @deprecated use `PostDemographicsRequest$outboundSchema` instead. */
    PostDemographicsRequest$.outboundSchema = PostDemographicsRequest$outboundSchema;
})(PostDemographicsRequest$ || (PostDemographicsRequest$ = {}));
export function postDemographicsRequestToJSON(postDemographicsRequest) {
    return JSON.stringify(PostDemographicsRequest$outboundSchema.parse(postDemographicsRequest));
}
export function postDemographicsRequestFromJSON(jsonString) {
    return safeParse(jsonString, (x) => PostDemographicsRequest$inboundSchema.parse(JSON.parse(x)), `Failed to parse 'PostDemographicsRequest' from JSON`);
}
/** @internal */
export const PostDemographicsSourcedIdPairs$inboundSchema = z.object({
    suppliedSourcedId: z.string(),
    allocatedSourcedId: z.string(),
});
/** @internal */
export const PostDemographicsSourcedIdPairs$outboundSchema = z.object({
    suppliedSourcedId: z.string(),
    allocatedSourcedId: z.string(),
});
/**
 * @internal
 * @deprecated This namespace will be removed in future versions. Use schemas and types that are exported directly from this module.
 */
export var PostDemographicsSourcedIdPairs$;
(function (PostDemographicsSourcedIdPairs$) {
    /** @deprecated use `PostDemographicsSourcedIdPairs$inboundSchema` instead. */
    PostDemographicsSourcedIdPairs$.inboundSchema = PostDemographicsSourcedIdPairs$inboundSchema;
    /** @deprecated use `PostDemographicsSourcedIdPairs$outboundSchema` instead. */
    PostDemographicsSourcedIdPairs$.outboundSchema = PostDemographicsSourcedIdPairs$outboundSchema;
})(PostDemographicsSourcedIdPairs$ || (PostDemographicsSourcedIdPairs$ = {}));
export function postDemographicsSourcedIdPairsToJSON(postDemographicsSourcedIdPairs) {
    return JSON.stringify(PostDemographicsSourcedIdPairs$outboundSchema.parse(postDemographicsSourcedIdPairs));
}
export function postDemographicsSourcedIdPairsFromJSON(jsonString) {
    return safeParse(jsonString, (x) => PostDemographicsSourcedIdPairs$inboundSchema.parse(JSON.parse(x)), `Failed to parse 'PostDemographicsSourcedIdPairs' from JSON`);
}
/** @internal */
export const PostDemographicsResponse$inboundSchema = z.object({
    sourcedIdPairs: z.lazy(() => PostDemographicsSourcedIdPairs$inboundSchema),
});
/** @internal */
export const PostDemographicsResponse$outboundSchema = z.object({
    sourcedIdPairs: z.lazy(() => PostDemographicsSourcedIdPairs$outboundSchema),
});
/**
 * @internal
 * @deprecated This namespace will be removed in future versions. Use schemas and types that are exported directly from this module.
 */
export var PostDemographicsResponse$;
(function (PostDemographicsResponse$) {
    /** @deprecated use `PostDemographicsResponse$inboundSchema` instead. */
    PostDemographicsResponse$.inboundSchema = PostDemographicsResponse$inboundSchema;
    /** @deprecated use `PostDemographicsResponse$outboundSchema` instead. */
    PostDemographicsResponse$.outboundSchema = PostDemographicsResponse$outboundSchema;
})(PostDemographicsResponse$ || (PostDemographicsResponse$ = {}));
export function postDemographicsResponseToJSON(postDemographicsResponse) {
    return JSON.stringify(PostDemographicsResponse$outboundSchema.parse(postDemographicsResponse));
}
export function postDemographicsResponseFromJSON(jsonString) {
    return safeParse(jsonString, (x) => PostDemographicsResponse$inboundSchema.parse(JSON.parse(x)), `Failed to parse 'PostDemographicsResponse' from JSON`);
}
//# sourceMappingURL=postdemographics.js.map