import * as z from 'zod';
import type { Prisma } from '../../../generated/prisma';
import { AppointmentProcedureCreateWithoutAppointmentInputObjectSchema as AppointmentProcedureCreateWithoutAppointmentInputObjectSchema } from './AppointmentProcedureCreateWithoutAppointmentInput.schema';
import { AppointmentProcedureUncheckedCreateWithoutAppointmentInputObjectSchema as AppointmentProcedureUncheckedCreateWithoutAppointmentInputObjectSchema } from './AppointmentProcedureUncheckedCreateWithoutAppointmentInput.schema';
import { AppointmentProcedureCreateOrConnectWithoutAppointmentInputObjectSchema as AppointmentProcedureCreateOrConnectWithoutAppointmentInputObjectSchema } from './AppointmentProcedureCreateOrConnectWithoutAppointmentInput.schema';
import { AppointmentProcedureUpsertWithWhereUniqueWithoutAppointmentInputObjectSchema as AppointmentProcedureUpsertWithWhereUniqueWithoutAppointmentInputObjectSchema } from './AppointmentProcedureUpsertWithWhereUniqueWithoutAppointmentInput.schema';
import { AppointmentProcedureCreateManyAppointmentInputEnvelopeObjectSchema as AppointmentProcedureCreateManyAppointmentInputEnvelopeObjectSchema } from './AppointmentProcedureCreateManyAppointmentInputEnvelope.schema';
import { AppointmentProcedureWhereUniqueInputObjectSchema as AppointmentProcedureWhereUniqueInputObjectSchema } from './AppointmentProcedureWhereUniqueInput.schema';
import { AppointmentProcedureUpdateWithWhereUniqueWithoutAppointmentInputObjectSchema as AppointmentProcedureUpdateWithWhereUniqueWithoutAppointmentInputObjectSchema } from './AppointmentProcedureUpdateWithWhereUniqueWithoutAppointmentInput.schema';
import { AppointmentProcedureUpdateManyWithWhereWithoutAppointmentInputObjectSchema as AppointmentProcedureUpdateManyWithWhereWithoutAppointmentInputObjectSchema } from './AppointmentProcedureUpdateManyWithWhereWithoutAppointmentInput.schema';
import { AppointmentProcedureScalarWhereInputObjectSchema as AppointmentProcedureScalarWhereInputObjectSchema } from './AppointmentProcedureScalarWhereInput.schema'

const makeSchema = () => z.object({
  create: z.union([z.lazy(() => AppointmentProcedureCreateWithoutAppointmentInputObjectSchema), z.lazy(() => AppointmentProcedureCreateWithoutAppointmentInputObjectSchema).array(), z.lazy(() => AppointmentProcedureUncheckedCreateWithoutAppointmentInputObjectSchema), z.lazy(() => AppointmentProcedureUncheckedCreateWithoutAppointmentInputObjectSchema).array()]).optional(),
  connectOrCreate: z.union([z.lazy(() => AppointmentProcedureCreateOrConnectWithoutAppointmentInputObjectSchema), z.lazy(() => AppointmentProcedureCreateOrConnectWithoutAppointmentInputObjectSchema).array()]).optional(),
  upsert: z.union([z.lazy(() => AppointmentProcedureUpsertWithWhereUniqueWithoutAppointmentInputObjectSchema), z.lazy(() => AppointmentProcedureUpsertWithWhereUniqueWithoutAppointmentInputObjectSchema).array()]).optional(),
  createMany: z.lazy(() => AppointmentProcedureCreateManyAppointmentInputEnvelopeObjectSchema).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(() => AppointmentProcedureUpdateWithWhereUniqueWithoutAppointmentInputObjectSchema), z.lazy(() => AppointmentProcedureUpdateWithWhereUniqueWithoutAppointmentInputObjectSchema).array()]).optional(),
  updateMany: z.union([z.lazy(() => AppointmentProcedureUpdateManyWithWhereWithoutAppointmentInputObjectSchema), z.lazy(() => AppointmentProcedureUpdateManyWithWhereWithoutAppointmentInputObjectSchema).array()]).optional(),
  deleteMany: z.union([z.lazy(() => AppointmentProcedureScalarWhereInputObjectSchema), z.lazy(() => AppointmentProcedureScalarWhereInputObjectSchema).array()]).optional()
}).strict();
export const AppointmentProcedureUncheckedUpdateManyWithoutAppointmentNestedInputObjectSchema: z.ZodType<Prisma.AppointmentProcedureUncheckedUpdateManyWithoutAppointmentNestedInput> = makeSchema() as unknown as z.ZodType<Prisma.AppointmentProcedureUncheckedUpdateManyWithoutAppointmentNestedInput>;
export const AppointmentProcedureUncheckedUpdateManyWithoutAppointmentNestedInputObjectZodSchema = makeSchema();
