import * as z from 'zod';
import type { Prisma } from '../../../generated/prisma';
import { AppointmentCreateWithoutNpiProviderInputObjectSchema as AppointmentCreateWithoutNpiProviderInputObjectSchema } from './AppointmentCreateWithoutNpiProviderInput.schema';
import { AppointmentUncheckedCreateWithoutNpiProviderInputObjectSchema as AppointmentUncheckedCreateWithoutNpiProviderInputObjectSchema } from './AppointmentUncheckedCreateWithoutNpiProviderInput.schema';
import { AppointmentCreateOrConnectWithoutNpiProviderInputObjectSchema as AppointmentCreateOrConnectWithoutNpiProviderInputObjectSchema } from './AppointmentCreateOrConnectWithoutNpiProviderInput.schema';
import { AppointmentUpsertWithWhereUniqueWithoutNpiProviderInputObjectSchema as AppointmentUpsertWithWhereUniqueWithoutNpiProviderInputObjectSchema } from './AppointmentUpsertWithWhereUniqueWithoutNpiProviderInput.schema';
import { AppointmentCreateManyNpiProviderInputEnvelopeObjectSchema as AppointmentCreateManyNpiProviderInputEnvelopeObjectSchema } from './AppointmentCreateManyNpiProviderInputEnvelope.schema';
import { AppointmentWhereUniqueInputObjectSchema as AppointmentWhereUniqueInputObjectSchema } from './AppointmentWhereUniqueInput.schema';
import { AppointmentUpdateWithWhereUniqueWithoutNpiProviderInputObjectSchema as AppointmentUpdateWithWhereUniqueWithoutNpiProviderInputObjectSchema } from './AppointmentUpdateWithWhereUniqueWithoutNpiProviderInput.schema';
import { AppointmentUpdateManyWithWhereWithoutNpiProviderInputObjectSchema as AppointmentUpdateManyWithWhereWithoutNpiProviderInputObjectSchema } from './AppointmentUpdateManyWithWhereWithoutNpiProviderInput.schema';
import { AppointmentScalarWhereInputObjectSchema as AppointmentScalarWhereInputObjectSchema } from './AppointmentScalarWhereInput.schema'

const makeSchema = () => z.object({
  create: z.union([z.lazy(() => AppointmentCreateWithoutNpiProviderInputObjectSchema), z.lazy(() => AppointmentCreateWithoutNpiProviderInputObjectSchema).array(), z.lazy(() => AppointmentUncheckedCreateWithoutNpiProviderInputObjectSchema), z.lazy(() => AppointmentUncheckedCreateWithoutNpiProviderInputObjectSchema).array()]).optional(),
  connectOrCreate: z.union([z.lazy(() => AppointmentCreateOrConnectWithoutNpiProviderInputObjectSchema), z.lazy(() => AppointmentCreateOrConnectWithoutNpiProviderInputObjectSchema).array()]).optional(),
  upsert: z.union([z.lazy(() => AppointmentUpsertWithWhereUniqueWithoutNpiProviderInputObjectSchema), z.lazy(() => AppointmentUpsertWithWhereUniqueWithoutNpiProviderInputObjectSchema).array()]).optional(),
  createMany: z.lazy(() => AppointmentCreateManyNpiProviderInputEnvelopeObjectSchema).optional(),
  set: z.union([z.lazy(() => AppointmentWhereUniqueInputObjectSchema), z.lazy(() => AppointmentWhereUniqueInputObjectSchema).array()]).optional(),
  disconnect: z.union([z.lazy(() => AppointmentWhereUniqueInputObjectSchema), z.lazy(() => AppointmentWhereUniqueInputObjectSchema).array()]).optional(),
  delete: z.union([z.lazy(() => AppointmentWhereUniqueInputObjectSchema), z.lazy(() => AppointmentWhereUniqueInputObjectSchema).array()]).optional(),
  connect: z.union([z.lazy(() => AppointmentWhereUniqueInputObjectSchema), z.lazy(() => AppointmentWhereUniqueInputObjectSchema).array()]).optional(),
  update: z.union([z.lazy(() => AppointmentUpdateWithWhereUniqueWithoutNpiProviderInputObjectSchema), z.lazy(() => AppointmentUpdateWithWhereUniqueWithoutNpiProviderInputObjectSchema).array()]).optional(),
  updateMany: z.union([z.lazy(() => AppointmentUpdateManyWithWhereWithoutNpiProviderInputObjectSchema), z.lazy(() => AppointmentUpdateManyWithWhereWithoutNpiProviderInputObjectSchema).array()]).optional(),
  deleteMany: z.union([z.lazy(() => AppointmentScalarWhereInputObjectSchema), z.lazy(() => AppointmentScalarWhereInputObjectSchema).array()]).optional()
}).strict();
export const AppointmentUncheckedUpdateManyWithoutNpiProviderNestedInputObjectSchema: z.ZodType<Prisma.AppointmentUncheckedUpdateManyWithoutNpiProviderNestedInput> = makeSchema() as unknown as z.ZodType<Prisma.AppointmentUncheckedUpdateManyWithoutNpiProviderNestedInput>;
export const AppointmentUncheckedUpdateManyWithoutNpiProviderNestedInputObjectZodSchema = makeSchema();
