import * as z from 'zod';
import type { Prisma } from '../../../generated/prisma';
import { AppointmentProcedureWhereUniqueInputObjectSchema as AppointmentProcedureWhereUniqueInputObjectSchema } from './AppointmentProcedureWhereUniqueInput.schema';
import { AppointmentProcedureUpdateWithoutAppointmentInputObjectSchema as AppointmentProcedureUpdateWithoutAppointmentInputObjectSchema } from './AppointmentProcedureUpdateWithoutAppointmentInput.schema';
import { AppointmentProcedureUncheckedUpdateWithoutAppointmentInputObjectSchema as AppointmentProcedureUncheckedUpdateWithoutAppointmentInputObjectSchema } from './AppointmentProcedureUncheckedUpdateWithoutAppointmentInput.schema';
import { AppointmentProcedureCreateWithoutAppointmentInputObjectSchema as AppointmentProcedureCreateWithoutAppointmentInputObjectSchema } from './AppointmentProcedureCreateWithoutAppointmentInput.schema';
import { AppointmentProcedureUncheckedCreateWithoutAppointmentInputObjectSchema as AppointmentProcedureUncheckedCreateWithoutAppointmentInputObjectSchema } from './AppointmentProcedureUncheckedCreateWithoutAppointmentInput.schema'

const makeSchema = () => z.object({
  where: z.lazy(() => AppointmentProcedureWhereUniqueInputObjectSchema),
  update: z.union([z.lazy(() => AppointmentProcedureUpdateWithoutAppointmentInputObjectSchema), z.lazy(() => AppointmentProcedureUncheckedUpdateWithoutAppointmentInputObjectSchema)]),
  create: z.union([z.lazy(() => AppointmentProcedureCreateWithoutAppointmentInputObjectSchema), z.lazy(() => AppointmentProcedureUncheckedCreateWithoutAppointmentInputObjectSchema)])
}).strict();
export const AppointmentProcedureUpsertWithWhereUniqueWithoutAppointmentInputObjectSchema: z.ZodType<Prisma.AppointmentProcedureUpsertWithWhereUniqueWithoutAppointmentInput> = makeSchema() as unknown as z.ZodType<Prisma.AppointmentProcedureUpsertWithWhereUniqueWithoutAppointmentInput>;
export const AppointmentProcedureUpsertWithWhereUniqueWithoutAppointmentInputObjectZodSchema = makeSchema();
