import * as z from 'zod';
import type { Prisma } from '../../../generated/prisma';
import { AppointmentWhereUniqueInputObjectSchema as AppointmentWhereUniqueInputObjectSchema } from './AppointmentWhereUniqueInput.schema';
import { AppointmentUpdateWithoutStaffInputObjectSchema as AppointmentUpdateWithoutStaffInputObjectSchema } from './AppointmentUpdateWithoutStaffInput.schema';
import { AppointmentUncheckedUpdateWithoutStaffInputObjectSchema as AppointmentUncheckedUpdateWithoutStaffInputObjectSchema } from './AppointmentUncheckedUpdateWithoutStaffInput.schema';
import { AppointmentCreateWithoutStaffInputObjectSchema as AppointmentCreateWithoutStaffInputObjectSchema } from './AppointmentCreateWithoutStaffInput.schema';
import { AppointmentUncheckedCreateWithoutStaffInputObjectSchema as AppointmentUncheckedCreateWithoutStaffInputObjectSchema } from './AppointmentUncheckedCreateWithoutStaffInput.schema'

const makeSchema = () => z.object({
  where: z.lazy(() => AppointmentWhereUniqueInputObjectSchema),
  update: z.union([z.lazy(() => AppointmentUpdateWithoutStaffInputObjectSchema), z.lazy(() => AppointmentUncheckedUpdateWithoutStaffInputObjectSchema)]),
  create: z.union([z.lazy(() => AppointmentCreateWithoutStaffInputObjectSchema), z.lazy(() => AppointmentUncheckedCreateWithoutStaffInputObjectSchema)])
}).strict();
export const AppointmentUpsertWithWhereUniqueWithoutStaffInputObjectSchema: z.ZodType<Prisma.AppointmentUpsertWithWhereUniqueWithoutStaffInput> = makeSchema() as unknown as z.ZodType<Prisma.AppointmentUpsertWithWhereUniqueWithoutStaffInput>;
export const AppointmentUpsertWithWhereUniqueWithoutStaffInputObjectZodSchema = makeSchema();
