import * as z from "zod";
import { ClosedEnum } from "../../types/enums.js";
import { Result as SafeParseResult } from "../../types/fp.js";
import { SDKValidationError } from "../errors/sdkvalidationerror.js";
export declare const PutDemographicsStatus: {
    readonly Active: "active";
    readonly Tobedeleted: "tobedeleted";
};
export type PutDemographicsStatus = ClosedEnum<typeof PutDemographicsStatus>;
export declare const PutDemographicsSex: {
    readonly Male: "male";
    readonly Female: "female";
};
export type PutDemographicsSex = ClosedEnum<typeof PutDemographicsSex>;
export declare const PutDemographicsAmericanIndianOrAlaskaNative: {
    readonly True: "true";
    readonly False: "false";
};
export type PutDemographicsAmericanIndianOrAlaskaNative = ClosedEnum<typeof PutDemographicsAmericanIndianOrAlaskaNative>;
export declare const PutDemographicsAsian: {
    readonly True: "true";
    readonly False: "false";
};
export type PutDemographicsAsian = ClosedEnum<typeof PutDemographicsAsian>;
export declare const PutDemographicsBlackOrAfricanAmerican: {
    readonly True: "true";
    readonly False: "false";
};
export type PutDemographicsBlackOrAfricanAmerican = ClosedEnum<typeof PutDemographicsBlackOrAfricanAmerican>;
export declare const PutDemographicsNativeHawaiianOrOtherPacificIslander: {
    readonly True: "true";
    readonly False: "false";
};
export type PutDemographicsNativeHawaiianOrOtherPacificIslander = ClosedEnum<typeof PutDemographicsNativeHawaiianOrOtherPacificIslander>;
export declare const PutDemographicsWhite: {
    readonly True: "true";
    readonly False: "false";
};
export type PutDemographicsWhite = ClosedEnum<typeof PutDemographicsWhite>;
export declare const PutDemographicsDemographicRaceTwoOrMoreRaces: {
    readonly True: "true";
    readonly False: "false";
};
export type PutDemographicsDemographicRaceTwoOrMoreRaces = ClosedEnum<typeof PutDemographicsDemographicRaceTwoOrMoreRaces>;
export declare const PutDemographicsHispanicOrLatinoEthnicity: {
    readonly True: "true";
    readonly False: "false";
};
export type PutDemographicsHispanicOrLatinoEthnicity = ClosedEnum<typeof PutDemographicsHispanicOrLatinoEthnicity>;
export type PutDemographicsDemographics = {
    sourcedId: string;
    status?: PutDemographicsStatus | undefined;
    metadata?: {
        [k: string]: any;
    } | undefined;
    birthDate?: string | null | undefined;
    sex?: PutDemographicsSex | null | undefined;
    americanIndianOrAlaskaNative?: PutDemographicsAmericanIndianOrAlaskaNative | null | undefined;
    asian?: PutDemographicsAsian | null | undefined;
    blackOrAfricanAmerican?: PutDemographicsBlackOrAfricanAmerican | null | undefined;
    nativeHawaiianOrOtherPacificIslander?: PutDemographicsNativeHawaiianOrOtherPacificIslander | null | undefined;
    white?: PutDemographicsWhite | null | undefined;
    demographicRaceTwoOrMoreRaces?: PutDemographicsDemographicRaceTwoOrMoreRaces | null | undefined;
    hispanicOrLatinoEthnicity?: PutDemographicsHispanicOrLatinoEthnicity | null | undefined;
    countryOfBirthCode?: string | null | undefined;
    stateOfBirthAbbreviation?: string | null | undefined;
    cityOfBirth?: string | null | undefined;
    publicSchoolResidenceStatus?: string | null | undefined;
};
export type PutDemographicsRequestBody = {
    demographics: PutDemographicsDemographics;
};
export type PutDemographicsRequest = {
    /**
     * The unique identifier for the demographics record to update
     */
    sourcedId: string;
    requestBody?: PutDemographicsRequestBody | undefined;
};
/** @internal */
export declare const PutDemographicsStatus$inboundSchema: z.ZodNativeEnum<typeof PutDemographicsStatus>;
/** @internal */
export declare const PutDemographicsStatus$outboundSchema: z.ZodNativeEnum<typeof PutDemographicsStatus>;
/**
 * @internal
 * @deprecated This namespace will be removed in future versions. Use schemas and types that are exported directly from this module.
 */
export declare namespace PutDemographicsStatus$ {
    /** @deprecated use `PutDemographicsStatus$inboundSchema` instead. */
    const inboundSchema: z.ZodNativeEnum<{
        readonly Active: "active";
        readonly Tobedeleted: "tobedeleted";
    }>;
    /** @deprecated use `PutDemographicsStatus$outboundSchema` instead. */
    const outboundSchema: z.ZodNativeEnum<{
        readonly Active: "active";
        readonly Tobedeleted: "tobedeleted";
    }>;
}
/** @internal */
export declare const PutDemographicsSex$inboundSchema: z.ZodNativeEnum<typeof PutDemographicsSex>;
/** @internal */
export declare const PutDemographicsSex$outboundSchema: z.ZodNativeEnum<typeof PutDemographicsSex>;
/**
 * @internal
 * @deprecated This namespace will be removed in future versions. Use schemas and types that are exported directly from this module.
 */
export declare namespace PutDemographicsSex$ {
    /** @deprecated use `PutDemographicsSex$inboundSchema` instead. */
    const inboundSchema: z.ZodNativeEnum<{
        readonly Male: "male";
        readonly Female: "female";
    }>;
    /** @deprecated use `PutDemographicsSex$outboundSchema` instead. */
    const outboundSchema: z.ZodNativeEnum<{
        readonly Male: "male";
        readonly Female: "female";
    }>;
}
/** @internal */
export declare const PutDemographicsAmericanIndianOrAlaskaNative$inboundSchema: z.ZodNativeEnum<typeof PutDemographicsAmericanIndianOrAlaskaNative>;
/** @internal */
export declare const PutDemographicsAmericanIndianOrAlaskaNative$outboundSchema: z.ZodNativeEnum<typeof PutDemographicsAmericanIndianOrAlaskaNative>;
/**
 * @internal
 * @deprecated This namespace will be removed in future versions. Use schemas and types that are exported directly from this module.
 */
export declare namespace PutDemographicsAmericanIndianOrAlaskaNative$ {
    /** @deprecated use `PutDemographicsAmericanIndianOrAlaskaNative$inboundSchema` instead. */
    const inboundSchema: z.ZodNativeEnum<{
        readonly True: "true";
        readonly False: "false";
    }>;
    /** @deprecated use `PutDemographicsAmericanIndianOrAlaskaNative$outboundSchema` instead. */
    const outboundSchema: z.ZodNativeEnum<{
        readonly True: "true";
        readonly False: "false";
    }>;
}
/** @internal */
export declare const PutDemographicsAsian$inboundSchema: z.ZodNativeEnum<typeof PutDemographicsAsian>;
/** @internal */
export declare const PutDemographicsAsian$outboundSchema: z.ZodNativeEnum<typeof PutDemographicsAsian>;
/**
 * @internal
 * @deprecated This namespace will be removed in future versions. Use schemas and types that are exported directly from this module.
 */
export declare namespace PutDemographicsAsian$ {
    /** @deprecated use `PutDemographicsAsian$inboundSchema` instead. */
    const inboundSchema: z.ZodNativeEnum<{
        readonly True: "true";
        readonly False: "false";
    }>;
    /** @deprecated use `PutDemographicsAsian$outboundSchema` instead. */
    const outboundSchema: z.ZodNativeEnum<{
        readonly True: "true";
        readonly False: "false";
    }>;
}
/** @internal */
export declare const PutDemographicsBlackOrAfricanAmerican$inboundSchema: z.ZodNativeEnum<typeof PutDemographicsBlackOrAfricanAmerican>;
/** @internal */
export declare const PutDemographicsBlackOrAfricanAmerican$outboundSchema: z.ZodNativeEnum<typeof PutDemographicsBlackOrAfricanAmerican>;
/**
 * @internal
 * @deprecated This namespace will be removed in future versions. Use schemas and types that are exported directly from this module.
 */
export declare namespace PutDemographicsBlackOrAfricanAmerican$ {
    /** @deprecated use `PutDemographicsBlackOrAfricanAmerican$inboundSchema` instead. */
    const inboundSchema: z.ZodNativeEnum<{
        readonly True: "true";
        readonly False: "false";
    }>;
    /** @deprecated use `PutDemographicsBlackOrAfricanAmerican$outboundSchema` instead. */
    const outboundSchema: z.ZodNativeEnum<{
        readonly True: "true";
        readonly False: "false";
    }>;
}
/** @internal */
export declare const PutDemographicsNativeHawaiianOrOtherPacificIslander$inboundSchema: z.ZodNativeEnum<typeof PutDemographicsNativeHawaiianOrOtherPacificIslander>;
/** @internal */
export declare const PutDemographicsNativeHawaiianOrOtherPacificIslander$outboundSchema: z.ZodNativeEnum<typeof PutDemographicsNativeHawaiianOrOtherPacificIslander>;
/**
 * @internal
 * @deprecated This namespace will be removed in future versions. Use schemas and types that are exported directly from this module.
 */
export declare namespace PutDemographicsNativeHawaiianOrOtherPacificIslander$ {
    /** @deprecated use `PutDemographicsNativeHawaiianOrOtherPacificIslander$inboundSchema` instead. */
    const inboundSchema: z.ZodNativeEnum<{
        readonly True: "true";
        readonly False: "false";
    }>;
    /** @deprecated use `PutDemographicsNativeHawaiianOrOtherPacificIslander$outboundSchema` instead. */
    const outboundSchema: z.ZodNativeEnum<{
        readonly True: "true";
        readonly False: "false";
    }>;
}
/** @internal */
export declare const PutDemographicsWhite$inboundSchema: z.ZodNativeEnum<typeof PutDemographicsWhite>;
/** @internal */
export declare const PutDemographicsWhite$outboundSchema: z.ZodNativeEnum<typeof PutDemographicsWhite>;
/**
 * @internal
 * @deprecated This namespace will be removed in future versions. Use schemas and types that are exported directly from this module.
 */
export declare namespace PutDemographicsWhite$ {
    /** @deprecated use `PutDemographicsWhite$inboundSchema` instead. */
    const inboundSchema: z.ZodNativeEnum<{
        readonly True: "true";
        readonly False: "false";
    }>;
    /** @deprecated use `PutDemographicsWhite$outboundSchema` instead. */
    const outboundSchema: z.ZodNativeEnum<{
        readonly True: "true";
        readonly False: "false";
    }>;
}
/** @internal */
export declare const PutDemographicsDemographicRaceTwoOrMoreRaces$inboundSchema: z.ZodNativeEnum<typeof PutDemographicsDemographicRaceTwoOrMoreRaces>;
/** @internal */
export declare const PutDemographicsDemographicRaceTwoOrMoreRaces$outboundSchema: z.ZodNativeEnum<typeof PutDemographicsDemographicRaceTwoOrMoreRaces>;
/**
 * @internal
 * @deprecated This namespace will be removed in future versions. Use schemas and types that are exported directly from this module.
 */
export declare namespace PutDemographicsDemographicRaceTwoOrMoreRaces$ {
    /** @deprecated use `PutDemographicsDemographicRaceTwoOrMoreRaces$inboundSchema` instead. */
    const inboundSchema: z.ZodNativeEnum<{
        readonly True: "true";
        readonly False: "false";
    }>;
    /** @deprecated use `PutDemographicsDemographicRaceTwoOrMoreRaces$outboundSchema` instead. */
    const outboundSchema: z.ZodNativeEnum<{
        readonly True: "true";
        readonly False: "false";
    }>;
}
/** @internal */
export declare const PutDemographicsHispanicOrLatinoEthnicity$inboundSchema: z.ZodNativeEnum<typeof PutDemographicsHispanicOrLatinoEthnicity>;
/** @internal */
export declare const PutDemographicsHispanicOrLatinoEthnicity$outboundSchema: z.ZodNativeEnum<typeof PutDemographicsHispanicOrLatinoEthnicity>;
/**
 * @internal
 * @deprecated This namespace will be removed in future versions. Use schemas and types that are exported directly from this module.
 */
export declare namespace PutDemographicsHispanicOrLatinoEthnicity$ {
    /** @deprecated use `PutDemographicsHispanicOrLatinoEthnicity$inboundSchema` instead. */
    const inboundSchema: z.ZodNativeEnum<{
        readonly True: "true";
        readonly False: "false";
    }>;
    /** @deprecated use `PutDemographicsHispanicOrLatinoEthnicity$outboundSchema` instead. */
    const outboundSchema: z.ZodNativeEnum<{
        readonly True: "true";
        readonly False: "false";
    }>;
}
/** @internal */
export declare const PutDemographicsDemographics$inboundSchema: z.ZodType<PutDemographicsDemographics, z.ZodTypeDef, unknown>;
/** @internal */
export type PutDemographicsDemographics$Outbound = {
    sourcedId: string;
    status: string;
    metadata?: {
        [k: string]: any;
    } | undefined;
    birthDate?: string | null | undefined;
    sex?: string | null | undefined;
    americanIndianOrAlaskaNative?: string | null | undefined;
    asian?: string | null | undefined;
    blackOrAfricanAmerican?: string | null | undefined;
    nativeHawaiianOrOtherPacificIslander?: string | null | undefined;
    white?: string | null | undefined;
    demographicRaceTwoOrMoreRaces?: string | null | undefined;
    hispanicOrLatinoEthnicity?: string | null | undefined;
    countryOfBirthCode?: string | null | undefined;
    stateOfBirthAbbreviation?: string | null | undefined;
    cityOfBirth?: string | null | undefined;
    publicSchoolResidenceStatus?: string | null | undefined;
};
/** @internal */
export declare const PutDemographicsDemographics$outboundSchema: z.ZodType<PutDemographicsDemographics$Outbound, z.ZodTypeDef, PutDemographicsDemographics>;
/**
 * @internal
 * @deprecated This namespace will be removed in future versions. Use schemas and types that are exported directly from this module.
 */
export declare namespace PutDemographicsDemographics$ {
    /** @deprecated use `PutDemographicsDemographics$inboundSchema` instead. */
    const inboundSchema: z.ZodType<PutDemographicsDemographics, z.ZodTypeDef, unknown>;
    /** @deprecated use `PutDemographicsDemographics$outboundSchema` instead. */
    const outboundSchema: z.ZodType<PutDemographicsDemographics$Outbound, z.ZodTypeDef, PutDemographicsDemographics>;
    /** @deprecated use `PutDemographicsDemographics$Outbound` instead. */
    type Outbound = PutDemographicsDemographics$Outbound;
}
export declare function putDemographicsDemographicsToJSON(putDemographicsDemographics: PutDemographicsDemographics): string;
export declare function putDemographicsDemographicsFromJSON(jsonString: string): SafeParseResult<PutDemographicsDemographics, SDKValidationError>;
/** @internal */
export declare const PutDemographicsRequestBody$inboundSchema: z.ZodType<PutDemographicsRequestBody, z.ZodTypeDef, unknown>;
/** @internal */
export type PutDemographicsRequestBody$Outbound = {
    demographics: PutDemographicsDemographics$Outbound;
};
/** @internal */
export declare const PutDemographicsRequestBody$outboundSchema: z.ZodType<PutDemographicsRequestBody$Outbound, z.ZodTypeDef, PutDemographicsRequestBody>;
/**
 * @internal
 * @deprecated This namespace will be removed in future versions. Use schemas and types that are exported directly from this module.
 */
export declare namespace PutDemographicsRequestBody$ {
    /** @deprecated use `PutDemographicsRequestBody$inboundSchema` instead. */
    const inboundSchema: z.ZodType<PutDemographicsRequestBody, z.ZodTypeDef, unknown>;
    /** @deprecated use `PutDemographicsRequestBody$outboundSchema` instead. */
    const outboundSchema: z.ZodType<PutDemographicsRequestBody$Outbound, z.ZodTypeDef, PutDemographicsRequestBody>;
    /** @deprecated use `PutDemographicsRequestBody$Outbound` instead. */
    type Outbound = PutDemographicsRequestBody$Outbound;
}
export declare function putDemographicsRequestBodyToJSON(putDemographicsRequestBody: PutDemographicsRequestBody): string;
export declare function putDemographicsRequestBodyFromJSON(jsonString: string): SafeParseResult<PutDemographicsRequestBody, SDKValidationError>;
/** @internal */
export declare const PutDemographicsRequest$inboundSchema: z.ZodType<PutDemographicsRequest, z.ZodTypeDef, unknown>;
/** @internal */
export type PutDemographicsRequest$Outbound = {
    sourcedId: string;
    RequestBody?: PutDemographicsRequestBody$Outbound | undefined;
};
/** @internal */
export declare const PutDemographicsRequest$outboundSchema: z.ZodType<PutDemographicsRequest$Outbound, z.ZodTypeDef, PutDemographicsRequest>;
/**
 * @internal
 * @deprecated This namespace will be removed in future versions. Use schemas and types that are exported directly from this module.
 */
export declare namespace PutDemographicsRequest$ {
    /** @deprecated use `PutDemographicsRequest$inboundSchema` instead. */
    const inboundSchema: z.ZodType<PutDemographicsRequest, z.ZodTypeDef, unknown>;
    /** @deprecated use `PutDemographicsRequest$outboundSchema` instead. */
    const outboundSchema: z.ZodType<PutDemographicsRequest$Outbound, z.ZodTypeDef, PutDemographicsRequest>;
    /** @deprecated use `PutDemographicsRequest$Outbound` instead. */
    type Outbound = PutDemographicsRequest$Outbound;
}
export declare function putDemographicsRequestToJSON(putDemographicsRequest: PutDemographicsRequest): string;
export declare function putDemographicsRequestFromJSON(jsonString: string): SafeParseResult<PutDemographicsRequest, SDKValidationError>;
//# sourceMappingURL=putdemographics.d.ts.map