import * as z from 'zod';
import type { Prisma } from '../../../generated/prisma';
import { PaymentUpdateWithoutClaimInputObjectSchema as PaymentUpdateWithoutClaimInputObjectSchema } from './PaymentUpdateWithoutClaimInput.schema';
import { PaymentUncheckedUpdateWithoutClaimInputObjectSchema as PaymentUncheckedUpdateWithoutClaimInputObjectSchema } from './PaymentUncheckedUpdateWithoutClaimInput.schema';
import { PaymentCreateWithoutClaimInputObjectSchema as PaymentCreateWithoutClaimInputObjectSchema } from './PaymentCreateWithoutClaimInput.schema';
import { PaymentUncheckedCreateWithoutClaimInputObjectSchema as PaymentUncheckedCreateWithoutClaimInputObjectSchema } from './PaymentUncheckedCreateWithoutClaimInput.schema';
import { PaymentWhereInputObjectSchema as PaymentWhereInputObjectSchema } from './PaymentWhereInput.schema'

const makeSchema = () => z.object({
  update: z.union([z.lazy(() => PaymentUpdateWithoutClaimInputObjectSchema), z.lazy(() => PaymentUncheckedUpdateWithoutClaimInputObjectSchema)]),
  create: z.union([z.lazy(() => PaymentCreateWithoutClaimInputObjectSchema), z.lazy(() => PaymentUncheckedCreateWithoutClaimInputObjectSchema)]),
  where: z.lazy(() => PaymentWhereInputObjectSchema).optional()
}).strict();
export const PaymentUpsertWithoutClaimInputObjectSchema: z.ZodType<Prisma.PaymentUpsertWithoutClaimInput> = makeSchema() as unknown as z.ZodType<Prisma.PaymentUpsertWithoutClaimInput>;
export const PaymentUpsertWithoutClaimInputObjectZodSchema = makeSchema();
