import * as z from 'zod';
import type { Prisma } from '../../../generated/prisma';
import { PatientCreateWithoutProceduresInputObjectSchema as PatientCreateWithoutProceduresInputObjectSchema } from './PatientCreateWithoutProceduresInput.schema';
import { PatientUncheckedCreateWithoutProceduresInputObjectSchema as PatientUncheckedCreateWithoutProceduresInputObjectSchema } from './PatientUncheckedCreateWithoutProceduresInput.schema';
import { PatientCreateOrConnectWithoutProceduresInputObjectSchema as PatientCreateOrConnectWithoutProceduresInputObjectSchema } from './PatientCreateOrConnectWithoutProceduresInput.schema';
import { PatientUpsertWithoutProceduresInputObjectSchema as PatientUpsertWithoutProceduresInputObjectSchema } from './PatientUpsertWithoutProceduresInput.schema';
import { PatientWhereUniqueInputObjectSchema as PatientWhereUniqueInputObjectSchema } from './PatientWhereUniqueInput.schema';
import { PatientUpdateToOneWithWhereWithoutProceduresInputObjectSchema as PatientUpdateToOneWithWhereWithoutProceduresInputObjectSchema } from './PatientUpdateToOneWithWhereWithoutProceduresInput.schema';
import { PatientUpdateWithoutProceduresInputObjectSchema as PatientUpdateWithoutProceduresInputObjectSchema } from './PatientUpdateWithoutProceduresInput.schema';
import { PatientUncheckedUpdateWithoutProceduresInputObjectSchema as PatientUncheckedUpdateWithoutProceduresInputObjectSchema } from './PatientUncheckedUpdateWithoutProceduresInput.schema'

const makeSchema = () => z.object({
  create: z.union([z.lazy(() => PatientCreateWithoutProceduresInputObjectSchema), z.lazy(() => PatientUncheckedCreateWithoutProceduresInputObjectSchema)]).optional(),
  connectOrCreate: z.lazy(() => PatientCreateOrConnectWithoutProceduresInputObjectSchema).optional(),
  upsert: z.lazy(() => PatientUpsertWithoutProceduresInputObjectSchema).optional(),
  connect: z.lazy(() => PatientWhereUniqueInputObjectSchema).optional(),
  update: z.union([z.lazy(() => PatientUpdateToOneWithWhereWithoutProceduresInputObjectSchema), z.lazy(() => PatientUpdateWithoutProceduresInputObjectSchema), z.lazy(() => PatientUncheckedUpdateWithoutProceduresInputObjectSchema)]).optional()
}).strict();
export const PatientUpdateOneRequiredWithoutProceduresNestedInputObjectSchema: z.ZodType<Prisma.PatientUpdateOneRequiredWithoutProceduresNestedInput> = makeSchema() as unknown as z.ZodType<Prisma.PatientUpdateOneRequiredWithoutProceduresNestedInput>;
export const PatientUpdateOneRequiredWithoutProceduresNestedInputObjectZodSchema = makeSchema();
