import * as z from 'zod';
import type { Prisma } from '../../../generated/prisma';
import { ClaimUpdateWithoutPaymentInputObjectSchema as ClaimUpdateWithoutPaymentInputObjectSchema } from './ClaimUpdateWithoutPaymentInput.schema';
import { ClaimUncheckedUpdateWithoutPaymentInputObjectSchema as ClaimUncheckedUpdateWithoutPaymentInputObjectSchema } from './ClaimUncheckedUpdateWithoutPaymentInput.schema';
import { ClaimCreateWithoutPaymentInputObjectSchema as ClaimCreateWithoutPaymentInputObjectSchema } from './ClaimCreateWithoutPaymentInput.schema';
import { ClaimUncheckedCreateWithoutPaymentInputObjectSchema as ClaimUncheckedCreateWithoutPaymentInputObjectSchema } from './ClaimUncheckedCreateWithoutPaymentInput.schema';
import { ClaimWhereInputObjectSchema as ClaimWhereInputObjectSchema } from './ClaimWhereInput.schema'

const makeSchema = () => z.object({
  update: z.union([z.lazy(() => ClaimUpdateWithoutPaymentInputObjectSchema), z.lazy(() => ClaimUncheckedUpdateWithoutPaymentInputObjectSchema)]),
  create: z.union([z.lazy(() => ClaimCreateWithoutPaymentInputObjectSchema), z.lazy(() => ClaimUncheckedCreateWithoutPaymentInputObjectSchema)]),
  where: z.lazy(() => ClaimWhereInputObjectSchema).optional()
}).strict();
export const ClaimUpsertWithoutPaymentInputObjectSchema: z.ZodType<Prisma.ClaimUpsertWithoutPaymentInput> = makeSchema() as unknown as z.ZodType<Prisma.ClaimUpsertWithoutPaymentInput>;
export const ClaimUpsertWithoutPaymentInputObjectZodSchema = makeSchema();
