import * as z from 'zod';
import type { Prisma } from '../../../generated/prisma';
import { CommunicationCreateWithoutPatientInputObjectSchema as CommunicationCreateWithoutPatientInputObjectSchema } from './CommunicationCreateWithoutPatientInput.schema';
import { CommunicationUncheckedCreateWithoutPatientInputObjectSchema as CommunicationUncheckedCreateWithoutPatientInputObjectSchema } from './CommunicationUncheckedCreateWithoutPatientInput.schema';
import { CommunicationCreateOrConnectWithoutPatientInputObjectSchema as CommunicationCreateOrConnectWithoutPatientInputObjectSchema } from './CommunicationCreateOrConnectWithoutPatientInput.schema';
import { CommunicationUpsertWithWhereUniqueWithoutPatientInputObjectSchema as CommunicationUpsertWithWhereUniqueWithoutPatientInputObjectSchema } from './CommunicationUpsertWithWhereUniqueWithoutPatientInput.schema';
import { CommunicationCreateManyPatientInputEnvelopeObjectSchema as CommunicationCreateManyPatientInputEnvelopeObjectSchema } from './CommunicationCreateManyPatientInputEnvelope.schema';
import { CommunicationWhereUniqueInputObjectSchema as CommunicationWhereUniqueInputObjectSchema } from './CommunicationWhereUniqueInput.schema';
import { CommunicationUpdateWithWhereUniqueWithoutPatientInputObjectSchema as CommunicationUpdateWithWhereUniqueWithoutPatientInputObjectSchema } from './CommunicationUpdateWithWhereUniqueWithoutPatientInput.schema';
import { CommunicationUpdateManyWithWhereWithoutPatientInputObjectSchema as CommunicationUpdateManyWithWhereWithoutPatientInputObjectSchema } from './CommunicationUpdateManyWithWhereWithoutPatientInput.schema';
import { CommunicationScalarWhereInputObjectSchema as CommunicationScalarWhereInputObjectSchema } from './CommunicationScalarWhereInput.schema'

const makeSchema = () => z.object({
  create: z.union([z.lazy(() => CommunicationCreateWithoutPatientInputObjectSchema), z.lazy(() => CommunicationCreateWithoutPatientInputObjectSchema).array(), z.lazy(() => CommunicationUncheckedCreateWithoutPatientInputObjectSchema), z.lazy(() => CommunicationUncheckedCreateWithoutPatientInputObjectSchema).array()]).optional(),
  connectOrCreate: z.union([z.lazy(() => CommunicationCreateOrConnectWithoutPatientInputObjectSchema), z.lazy(() => CommunicationCreateOrConnectWithoutPatientInputObjectSchema).array()]).optional(),
  upsert: z.union([z.lazy(() => CommunicationUpsertWithWhereUniqueWithoutPatientInputObjectSchema), z.lazy(() => CommunicationUpsertWithWhereUniqueWithoutPatientInputObjectSchema).array()]).optional(),
  createMany: z.lazy(() => CommunicationCreateManyPatientInputEnvelopeObjectSchema).optional(),
  set: z.union([z.lazy(() => CommunicationWhereUniqueInputObjectSchema), z.lazy(() => CommunicationWhereUniqueInputObjectSchema).array()]).optional(),
  disconnect: z.union([z.lazy(() => CommunicationWhereUniqueInputObjectSchema), z.lazy(() => CommunicationWhereUniqueInputObjectSchema).array()]).optional(),
  delete: z.union([z.lazy(() => CommunicationWhereUniqueInputObjectSchema), z.lazy(() => CommunicationWhereUniqueInputObjectSchema).array()]).optional(),
  connect: z.union([z.lazy(() => CommunicationWhereUniqueInputObjectSchema), z.lazy(() => CommunicationWhereUniqueInputObjectSchema).array()]).optional(),
  update: z.union([z.lazy(() => CommunicationUpdateWithWhereUniqueWithoutPatientInputObjectSchema), z.lazy(() => CommunicationUpdateWithWhereUniqueWithoutPatientInputObjectSchema).array()]).optional(),
  updateMany: z.union([z.lazy(() => CommunicationUpdateManyWithWhereWithoutPatientInputObjectSchema), z.lazy(() => CommunicationUpdateManyWithWhereWithoutPatientInputObjectSchema).array()]).optional(),
  deleteMany: z.union([z.lazy(() => CommunicationScalarWhereInputObjectSchema), z.lazy(() => CommunicationScalarWhereInputObjectSchema).array()]).optional()
}).strict();
export const CommunicationUpdateManyWithoutPatientNestedInputObjectSchema: z.ZodType<Prisma.CommunicationUpdateManyWithoutPatientNestedInput> = makeSchema() as unknown as z.ZodType<Prisma.CommunicationUpdateManyWithoutPatientNestedInput>;
export const CommunicationUpdateManyWithoutPatientNestedInputObjectZodSchema = makeSchema();
