import * as z from 'zod';
import type { Prisma } from '../../../generated/prisma';
import { AppointmentProcedureCreateWithoutNpiProviderInputObjectSchema as AppointmentProcedureCreateWithoutNpiProviderInputObjectSchema } from './AppointmentProcedureCreateWithoutNpiProviderInput.schema';
import { AppointmentProcedureUncheckedCreateWithoutNpiProviderInputObjectSchema as AppointmentProcedureUncheckedCreateWithoutNpiProviderInputObjectSchema } from './AppointmentProcedureUncheckedCreateWithoutNpiProviderInput.schema';
import { AppointmentProcedureCreateOrConnectWithoutNpiProviderInputObjectSchema as AppointmentProcedureCreateOrConnectWithoutNpiProviderInputObjectSchema } from './AppointmentProcedureCreateOrConnectWithoutNpiProviderInput.schema';
import { AppointmentProcedureUpsertWithWhereUniqueWithoutNpiProviderInputObjectSchema as AppointmentProcedureUpsertWithWhereUniqueWithoutNpiProviderInputObjectSchema } from './AppointmentProcedureUpsertWithWhereUniqueWithoutNpiProviderInput.schema';
import { AppointmentProcedureCreateManyNpiProviderInputEnvelopeObjectSchema as AppointmentProcedureCreateManyNpiProviderInputEnvelopeObjectSchema } from './AppointmentProcedureCreateManyNpiProviderInputEnvelope.schema';
import { AppointmentProcedureWhereUniqueInputObjectSchema as AppointmentProcedureWhereUniqueInputObjectSchema } from './AppointmentProcedureWhereUniqueInput.schema';
import { AppointmentProcedureUpdateWithWhereUniqueWithoutNpiProviderInputObjectSchema as AppointmentProcedureUpdateWithWhereUniqueWithoutNpiProviderInputObjectSchema } from './AppointmentProcedureUpdateWithWhereUniqueWithoutNpiProviderInput.schema';
import { AppointmentProcedureUpdateManyWithWhereWithoutNpiProviderInputObjectSchema as AppointmentProcedureUpdateManyWithWhereWithoutNpiProviderInputObjectSchema } from './AppointmentProcedureUpdateManyWithWhereWithoutNpiProviderInput.schema';
import { AppointmentProcedureScalarWhereInputObjectSchema as AppointmentProcedureScalarWhereInputObjectSchema } from './AppointmentProcedureScalarWhereInput.schema'

const makeSchema = () => z.object({
  create: z.union([z.lazy(() => AppointmentProcedureCreateWithoutNpiProviderInputObjectSchema), z.lazy(() => AppointmentProcedureCreateWithoutNpiProviderInputObjectSchema).array(), z.lazy(() => AppointmentProcedureUncheckedCreateWithoutNpiProviderInputObjectSchema), z.lazy(() => AppointmentProcedureUncheckedCreateWithoutNpiProviderInputObjectSchema).array()]).optional(),
  connectOrCreate: z.union([z.lazy(() => AppointmentProcedureCreateOrConnectWithoutNpiProviderInputObjectSchema), z.lazy(() => AppointmentProcedureCreateOrConnectWithoutNpiProviderInputObjectSchema).array()]).optional(),
  upsert: z.union([z.lazy(() => AppointmentProcedureUpsertWithWhereUniqueWithoutNpiProviderInputObjectSchema), z.lazy(() => AppointmentProcedureUpsertWithWhereUniqueWithoutNpiProviderInputObjectSchema).array()]).optional(),
  createMany: z.lazy(() => AppointmentProcedureCreateManyNpiProviderInputEnvelopeObjectSchema).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(() => AppointmentProcedureUpdateWithWhereUniqueWithoutNpiProviderInputObjectSchema), z.lazy(() => AppointmentProcedureUpdateWithWhereUniqueWithoutNpiProviderInputObjectSchema).array()]).optional(),
  updateMany: z.union([z.lazy(() => AppointmentProcedureUpdateManyWithWhereWithoutNpiProviderInputObjectSchema), z.lazy(() => AppointmentProcedureUpdateManyWithWhereWithoutNpiProviderInputObjectSchema).array()]).optional(),
  deleteMany: z.union([z.lazy(() => AppointmentProcedureScalarWhereInputObjectSchema), z.lazy(() => AppointmentProcedureScalarWhereInputObjectSchema).array()]).optional()
}).strict();
export const AppointmentProcedureUncheckedUpdateManyWithoutNpiProviderNestedInputObjectSchema: z.ZodType<Prisma.AppointmentProcedureUncheckedUpdateManyWithoutNpiProviderNestedInput> = makeSchema() as unknown as z.ZodType<Prisma.AppointmentProcedureUncheckedUpdateManyWithoutNpiProviderNestedInput>;
export const AppointmentProcedureUncheckedUpdateManyWithoutNpiProviderNestedInputObjectZodSchema = makeSchema();
