import * as z from 'zod';
import type { Prisma } from '../../../generated/prisma';
import { AppointmentProcedureCreateWithoutAppointmentInputObjectSchema as AppointmentProcedureCreateWithoutAppointmentInputObjectSchema } from './AppointmentProcedureCreateWithoutAppointmentInput.schema';
import { AppointmentProcedureUncheckedCreateWithoutAppointmentInputObjectSchema as AppointmentProcedureUncheckedCreateWithoutAppointmentInputObjectSchema } from './AppointmentProcedureUncheckedCreateWithoutAppointmentInput.schema';
import { AppointmentProcedureCreateOrConnectWithoutAppointmentInputObjectSchema as AppointmentProcedureCreateOrConnectWithoutAppointmentInputObjectSchema } from './AppointmentProcedureCreateOrConnectWithoutAppointmentInput.schema';
import { AppointmentProcedureCreateManyAppointmentInputEnvelopeObjectSchema as AppointmentProcedureCreateManyAppointmentInputEnvelopeObjectSchema } from './AppointmentProcedureCreateManyAppointmentInputEnvelope.schema';
import { AppointmentProcedureWhereUniqueInputObjectSchema as AppointmentProcedureWhereUniqueInputObjectSchema } from './AppointmentProcedureWhereUniqueInput.schema'

const makeSchema = () => z.object({
  create: z.union([z.lazy(() => AppointmentProcedureCreateWithoutAppointmentInputObjectSchema), z.lazy(() => AppointmentProcedureCreateWithoutAppointmentInputObjectSchema).array(), z.lazy(() => AppointmentProcedureUncheckedCreateWithoutAppointmentInputObjectSchema), z.lazy(() => AppointmentProcedureUncheckedCreateWithoutAppointmentInputObjectSchema).array()]).optional(),
  connectOrCreate: z.union([z.lazy(() => AppointmentProcedureCreateOrConnectWithoutAppointmentInputObjectSchema), z.lazy(() => AppointmentProcedureCreateOrConnectWithoutAppointmentInputObjectSchema).array()]).optional(),
  createMany: z.lazy(() => AppointmentProcedureCreateManyAppointmentInputEnvelopeObjectSchema).optional(),
  connect: z.union([z.lazy(() => AppointmentProcedureWhereUniqueInputObjectSchema), z.lazy(() => AppointmentProcedureWhereUniqueInputObjectSchema).array()]).optional()
}).strict();
export const AppointmentProcedureCreateNestedManyWithoutAppointmentInputObjectSchema: z.ZodType<Prisma.AppointmentProcedureCreateNestedManyWithoutAppointmentInput> = makeSchema() as unknown as z.ZodType<Prisma.AppointmentProcedureCreateNestedManyWithoutAppointmentInput>;
export const AppointmentProcedureCreateNestedManyWithoutAppointmentInputObjectZodSchema = makeSchema();
