import * as z from 'zod';
import type { Prisma } from '../../../generated/prisma';
import { ClaimCreateWithoutAppointmentInputObjectSchema as ClaimCreateWithoutAppointmentInputObjectSchema } from './ClaimCreateWithoutAppointmentInput.schema';
import { ClaimUncheckedCreateWithoutAppointmentInputObjectSchema as ClaimUncheckedCreateWithoutAppointmentInputObjectSchema } from './ClaimUncheckedCreateWithoutAppointmentInput.schema';
import { ClaimCreateOrConnectWithoutAppointmentInputObjectSchema as ClaimCreateOrConnectWithoutAppointmentInputObjectSchema } from './ClaimCreateOrConnectWithoutAppointmentInput.schema';
import { ClaimUpsertWithWhereUniqueWithoutAppointmentInputObjectSchema as ClaimUpsertWithWhereUniqueWithoutAppointmentInputObjectSchema } from './ClaimUpsertWithWhereUniqueWithoutAppointmentInput.schema';
import { ClaimCreateManyAppointmentInputEnvelopeObjectSchema as ClaimCreateManyAppointmentInputEnvelopeObjectSchema } from './ClaimCreateManyAppointmentInputEnvelope.schema';
import { ClaimWhereUniqueInputObjectSchema as ClaimWhereUniqueInputObjectSchema } from './ClaimWhereUniqueInput.schema';
import { ClaimUpdateWithWhereUniqueWithoutAppointmentInputObjectSchema as ClaimUpdateWithWhereUniqueWithoutAppointmentInputObjectSchema } from './ClaimUpdateWithWhereUniqueWithoutAppointmentInput.schema';
import { ClaimUpdateManyWithWhereWithoutAppointmentInputObjectSchema as ClaimUpdateManyWithWhereWithoutAppointmentInputObjectSchema } from './ClaimUpdateManyWithWhereWithoutAppointmentInput.schema';
import { ClaimScalarWhereInputObjectSchema as ClaimScalarWhereInputObjectSchema } from './ClaimScalarWhereInput.schema'

const makeSchema = () => z.object({
  create: z.union([z.lazy(() => ClaimCreateWithoutAppointmentInputObjectSchema), z.lazy(() => ClaimCreateWithoutAppointmentInputObjectSchema).array(), z.lazy(() => ClaimUncheckedCreateWithoutAppointmentInputObjectSchema), z.lazy(() => ClaimUncheckedCreateWithoutAppointmentInputObjectSchema).array()]).optional(),
  connectOrCreate: z.union([z.lazy(() => ClaimCreateOrConnectWithoutAppointmentInputObjectSchema), z.lazy(() => ClaimCreateOrConnectWithoutAppointmentInputObjectSchema).array()]).optional(),
  upsert: z.union([z.lazy(() => ClaimUpsertWithWhereUniqueWithoutAppointmentInputObjectSchema), z.lazy(() => ClaimUpsertWithWhereUniqueWithoutAppointmentInputObjectSchema).array()]).optional(),
  createMany: z.lazy(() => ClaimCreateManyAppointmentInputEnvelopeObjectSchema).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(() => ClaimUpdateWithWhereUniqueWithoutAppointmentInputObjectSchema), z.lazy(() => ClaimUpdateWithWhereUniqueWithoutAppointmentInputObjectSchema).array()]).optional(),
  updateMany: z.union([z.lazy(() => ClaimUpdateManyWithWhereWithoutAppointmentInputObjectSchema), z.lazy(() => ClaimUpdateManyWithWhereWithoutAppointmentInputObjectSchema).array()]).optional(),
  deleteMany: z.union([z.lazy(() => ClaimScalarWhereInputObjectSchema), z.lazy(() => ClaimScalarWhereInputObjectSchema).array()]).optional()
}).strict();
export const ClaimUpdateManyWithoutAppointmentNestedInputObjectSchema: z.ZodType<Prisma.ClaimUpdateManyWithoutAppointmentNestedInput> = makeSchema() as unknown as z.ZodType<Prisma.ClaimUpdateManyWithoutAppointmentNestedInput>;
export const ClaimUpdateManyWithoutAppointmentNestedInputObjectZodSchema = makeSchema();
