import * as z from 'zod';
import type { Prisma } from '../../../generated/prisma';
import { AppointmentCreateWithoutStaffInputObjectSchema as AppointmentCreateWithoutStaffInputObjectSchema } from './AppointmentCreateWithoutStaffInput.schema';
import { AppointmentUncheckedCreateWithoutStaffInputObjectSchema as AppointmentUncheckedCreateWithoutStaffInputObjectSchema } from './AppointmentUncheckedCreateWithoutStaffInput.schema';
import { AppointmentCreateOrConnectWithoutStaffInputObjectSchema as AppointmentCreateOrConnectWithoutStaffInputObjectSchema } from './AppointmentCreateOrConnectWithoutStaffInput.schema';
import { AppointmentUpsertWithWhereUniqueWithoutStaffInputObjectSchema as AppointmentUpsertWithWhereUniqueWithoutStaffInputObjectSchema } from './AppointmentUpsertWithWhereUniqueWithoutStaffInput.schema';
import { AppointmentCreateManyStaffInputEnvelopeObjectSchema as AppointmentCreateManyStaffInputEnvelopeObjectSchema } from './AppointmentCreateManyStaffInputEnvelope.schema';
import { AppointmentWhereUniqueInputObjectSchema as AppointmentWhereUniqueInputObjectSchema } from './AppointmentWhereUniqueInput.schema';
import { AppointmentUpdateWithWhereUniqueWithoutStaffInputObjectSchema as AppointmentUpdateWithWhereUniqueWithoutStaffInputObjectSchema } from './AppointmentUpdateWithWhereUniqueWithoutStaffInput.schema';
import { AppointmentUpdateManyWithWhereWithoutStaffInputObjectSchema as AppointmentUpdateManyWithWhereWithoutStaffInputObjectSchema } from './AppointmentUpdateManyWithWhereWithoutStaffInput.schema';
import { AppointmentScalarWhereInputObjectSchema as AppointmentScalarWhereInputObjectSchema } from './AppointmentScalarWhereInput.schema'

const makeSchema = () => z.object({
  create: z.union([z.lazy(() => AppointmentCreateWithoutStaffInputObjectSchema), z.lazy(() => AppointmentCreateWithoutStaffInputObjectSchema).array(), z.lazy(() => AppointmentUncheckedCreateWithoutStaffInputObjectSchema), z.lazy(() => AppointmentUncheckedCreateWithoutStaffInputObjectSchema).array()]).optional(),
  connectOrCreate: z.union([z.lazy(() => AppointmentCreateOrConnectWithoutStaffInputObjectSchema), z.lazy(() => AppointmentCreateOrConnectWithoutStaffInputObjectSchema).array()]).optional(),
  upsert: z.union([z.lazy(() => AppointmentUpsertWithWhereUniqueWithoutStaffInputObjectSchema), z.lazy(() => AppointmentUpsertWithWhereUniqueWithoutStaffInputObjectSchema).array()]).optional(),
  createMany: z.lazy(() => AppointmentCreateManyStaffInputEnvelopeObjectSchema).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(() => AppointmentUpdateWithWhereUniqueWithoutStaffInputObjectSchema), z.lazy(() => AppointmentUpdateWithWhereUniqueWithoutStaffInputObjectSchema).array()]).optional(),
  updateMany: z.union([z.lazy(() => AppointmentUpdateManyWithWhereWithoutStaffInputObjectSchema), z.lazy(() => AppointmentUpdateManyWithWhereWithoutStaffInputObjectSchema).array()]).optional(),
  deleteMany: z.union([z.lazy(() => AppointmentScalarWhereInputObjectSchema), z.lazy(() => AppointmentScalarWhereInputObjectSchema).array()]).optional()
}).strict();
export const AppointmentUpdateManyWithoutStaffNestedInputObjectSchema: z.ZodType<Prisma.AppointmentUpdateManyWithoutStaffNestedInput> = makeSchema() as unknown as z.ZodType<Prisma.AppointmentUpdateManyWithoutStaffNestedInput>;
export const AppointmentUpdateManyWithoutStaffNestedInputObjectZodSchema = makeSchema();
