import * as z from 'zod';
import type { Prisma } from '../../../generated/prisma';
import { ClaimCreateWithoutPatientInputObjectSchema as ClaimCreateWithoutPatientInputObjectSchema } from './ClaimCreateWithoutPatientInput.schema';
import { ClaimUncheckedCreateWithoutPatientInputObjectSchema as ClaimUncheckedCreateWithoutPatientInputObjectSchema } from './ClaimUncheckedCreateWithoutPatientInput.schema';
import { ClaimCreateOrConnectWithoutPatientInputObjectSchema as ClaimCreateOrConnectWithoutPatientInputObjectSchema } from './ClaimCreateOrConnectWithoutPatientInput.schema';
import { ClaimUpsertWithWhereUniqueWithoutPatientInputObjectSchema as ClaimUpsertWithWhereUniqueWithoutPatientInputObjectSchema } from './ClaimUpsertWithWhereUniqueWithoutPatientInput.schema';
import { ClaimCreateManyPatientInputEnvelopeObjectSchema as ClaimCreateManyPatientInputEnvelopeObjectSchema } from './ClaimCreateManyPatientInputEnvelope.schema';
import { ClaimWhereUniqueInputObjectSchema as ClaimWhereUniqueInputObjectSchema } from './ClaimWhereUniqueInput.schema';
import { ClaimUpdateWithWhereUniqueWithoutPatientInputObjectSchema as ClaimUpdateWithWhereUniqueWithoutPatientInputObjectSchema } from './ClaimUpdateWithWhereUniqueWithoutPatientInput.schema';
import { ClaimUpdateManyWithWhereWithoutPatientInputObjectSchema as ClaimUpdateManyWithWhereWithoutPatientInputObjectSchema } from './ClaimUpdateManyWithWhereWithoutPatientInput.schema';
import { ClaimScalarWhereInputObjectSchema as ClaimScalarWhereInputObjectSchema } from './ClaimScalarWhereInput.schema'

const makeSchema = () => z.object({
  create: z.union([z.lazy(() => ClaimCreateWithoutPatientInputObjectSchema), z.lazy(() => ClaimCreateWithoutPatientInputObjectSchema).array(), z.lazy(() => ClaimUncheckedCreateWithoutPatientInputObjectSchema), z.lazy(() => ClaimUncheckedCreateWithoutPatientInputObjectSchema).array()]).optional(),
  connectOrCreate: z.union([z.lazy(() => ClaimCreateOrConnectWithoutPatientInputObjectSchema), z.lazy(() => ClaimCreateOrConnectWithoutPatientInputObjectSchema).array()]).optional(),
  upsert: z.union([z.lazy(() => ClaimUpsertWithWhereUniqueWithoutPatientInputObjectSchema), z.lazy(() => ClaimUpsertWithWhereUniqueWithoutPatientInputObjectSchema).array()]).optional(),
  createMany: z.lazy(() => ClaimCreateManyPatientInputEnvelopeObjectSchema).optional(),
  set: z.union([z.lazy(() => ClaimWhereUniqueInputObjectSchema), z.lazy(() => ClaimWhereUniqueInputObjectSchema).array()]).optional(),
  disconnect: z.union([z.lazy(() => ClaimWhereUniqueInputObjectSchema), z.lazy(() => ClaimWhereUniqueInputObjectSchema).array()]).optional(),
  delete: z.union([z.lazy(() => ClaimWhereUniqueInputObjectSchema), z.lazy(() => ClaimWhereUniqueInputObjectSchema).array()]).optional(),
  connect: z.union([z.lazy(() => ClaimWhereUniqueInputObjectSchema), z.lazy(() => ClaimWhereUniqueInputObjectSchema).array()]).optional(),
  update: z.union([z.lazy(() => ClaimUpdateWithWhereUniqueWithoutPatientInputObjectSchema), z.lazy(() => ClaimUpdateWithWhereUniqueWithoutPatientInputObjectSchema).array()]).optional(),
  updateMany: z.union([z.lazy(() => ClaimUpdateManyWithWhereWithoutPatientInputObjectSchema), z.lazy(() => ClaimUpdateManyWithWhereWithoutPatientInputObjectSchema).array()]).optional(),
  deleteMany: z.union([z.lazy(() => ClaimScalarWhereInputObjectSchema), z.lazy(() => ClaimScalarWhereInputObjectSchema).array()]).optional()
}).strict();
export const ClaimUpdateManyWithoutPatientNestedInputObjectSchema: z.ZodType<Prisma.ClaimUpdateManyWithoutPatientNestedInput> = makeSchema() as unknown as z.ZodType<Prisma.ClaimUpdateManyWithoutPatientNestedInput>;
export const ClaimUpdateManyWithoutPatientNestedInputObjectZodSchema = makeSchema();
