import * as z from 'zod';
import type { Prisma } from '../../../generated/prisma';
import { AppointmentProcedureCreateWithoutPatientInputObjectSchema as AppointmentProcedureCreateWithoutPatientInputObjectSchema } from './AppointmentProcedureCreateWithoutPatientInput.schema';
import { AppointmentProcedureUncheckedCreateWithoutPatientInputObjectSchema as AppointmentProcedureUncheckedCreateWithoutPatientInputObjectSchema } from './AppointmentProcedureUncheckedCreateWithoutPatientInput.schema';
import { AppointmentProcedureCreateOrConnectWithoutPatientInputObjectSchema as AppointmentProcedureCreateOrConnectWithoutPatientInputObjectSchema } from './AppointmentProcedureCreateOrConnectWithoutPatientInput.schema';
import { AppointmentProcedureUpsertWithWhereUniqueWithoutPatientInputObjectSchema as AppointmentProcedureUpsertWithWhereUniqueWithoutPatientInputObjectSchema } from './AppointmentProcedureUpsertWithWhereUniqueWithoutPatientInput.schema';
import { AppointmentProcedureCreateManyPatientInputEnvelopeObjectSchema as AppointmentProcedureCreateManyPatientInputEnvelopeObjectSchema } from './AppointmentProcedureCreateManyPatientInputEnvelope.schema';
import { AppointmentProcedureWhereUniqueInputObjectSchema as AppointmentProcedureWhereUniqueInputObjectSchema } from './AppointmentProcedureWhereUniqueInput.schema';
import { AppointmentProcedureUpdateWithWhereUniqueWithoutPatientInputObjectSchema as AppointmentProcedureUpdateWithWhereUniqueWithoutPatientInputObjectSchema } from './AppointmentProcedureUpdateWithWhereUniqueWithoutPatientInput.schema';
import { AppointmentProcedureUpdateManyWithWhereWithoutPatientInputObjectSchema as AppointmentProcedureUpdateManyWithWhereWithoutPatientInputObjectSchema } from './AppointmentProcedureUpdateManyWithWhereWithoutPatientInput.schema';
import { AppointmentProcedureScalarWhereInputObjectSchema as AppointmentProcedureScalarWhereInputObjectSchema } from './AppointmentProcedureScalarWhereInput.schema'

const makeSchema = () => z.object({
  create: z.union([z.lazy(() => AppointmentProcedureCreateWithoutPatientInputObjectSchema), z.lazy(() => AppointmentProcedureCreateWithoutPatientInputObjectSchema).array(), z.lazy(() => AppointmentProcedureUncheckedCreateWithoutPatientInputObjectSchema), z.lazy(() => AppointmentProcedureUncheckedCreateWithoutPatientInputObjectSchema).array()]).optional(),
  connectOrCreate: z.union([z.lazy(() => AppointmentProcedureCreateOrConnectWithoutPatientInputObjectSchema), z.lazy(() => AppointmentProcedureCreateOrConnectWithoutPatientInputObjectSchema).array()]).optional(),
  upsert: z.union([z.lazy(() => AppointmentProcedureUpsertWithWhereUniqueWithoutPatientInputObjectSchema), z.lazy(() => AppointmentProcedureUpsertWithWhereUniqueWithoutPatientInputObjectSchema).array()]).optional(),
  createMany: z.lazy(() => AppointmentProcedureCreateManyPatientInputEnvelopeObjectSchema).optional(),
  set: z.union([z.lazy(() => AppointmentProcedureWhereUniqueInputObjectSchema), z.lazy(() => AppointmentProcedureWhereUniqueInputObjectSchema).array()]).optional(),
  disconnect: z.union([z.lazy(() => AppointmentProcedureWhereUniqueInputObjectSchema), z.lazy(() => AppointmentProcedureWhereUniqueInputObjectSchema).array()]).optional(),
  delete: z.union([z.lazy(() => AppointmentProcedureWhereUniqueInputObjectSchema), z.lazy(() => AppointmentProcedureWhereUniqueInputObjectSchema).array()]).optional(),
  connect: z.union([z.lazy(() => AppointmentProcedureWhereUniqueInputObjectSchema), z.lazy(() => AppointmentProcedureWhereUniqueInputObjectSchema).array()]).optional(),
  update: z.union([z.lazy(() => AppointmentProcedureUpdateWithWhereUniqueWithoutPatientInputObjectSchema), z.lazy(() => AppointmentProcedureUpdateWithWhereUniqueWithoutPatientInputObjectSchema).array()]).optional(),
  updateMany: z.union([z.lazy(() => AppointmentProcedureUpdateManyWithWhereWithoutPatientInputObjectSchema), z.lazy(() => AppointmentProcedureUpdateManyWithWhereWithoutPatientInputObjectSchema).array()]).optional(),
  deleteMany: z.union([z.lazy(() => AppointmentProcedureScalarWhereInputObjectSchema), z.lazy(() => AppointmentProcedureScalarWhereInputObjectSchema).array()]).optional()
}).strict();
export const AppointmentProcedureUpdateManyWithoutPatientNestedInputObjectSchema: z.ZodType<Prisma.AppointmentProcedureUpdateManyWithoutPatientNestedInput> = makeSchema() as unknown as z.ZodType<Prisma.AppointmentProcedureUpdateManyWithoutPatientNestedInput>;
export const AppointmentProcedureUpdateManyWithoutPatientNestedInputObjectZodSchema = makeSchema();
