import * as z from 'zod';
import type { Prisma } from '../../../generated/prisma';
import { AppointmentFileCreateWithoutAppointmentInputObjectSchema as AppointmentFileCreateWithoutAppointmentInputObjectSchema } from './AppointmentFileCreateWithoutAppointmentInput.schema';
import { AppointmentFileUncheckedCreateWithoutAppointmentInputObjectSchema as AppointmentFileUncheckedCreateWithoutAppointmentInputObjectSchema } from './AppointmentFileUncheckedCreateWithoutAppointmentInput.schema';
import { AppointmentFileCreateOrConnectWithoutAppointmentInputObjectSchema as AppointmentFileCreateOrConnectWithoutAppointmentInputObjectSchema } from './AppointmentFileCreateOrConnectWithoutAppointmentInput.schema';
import { AppointmentFileUpsertWithWhereUniqueWithoutAppointmentInputObjectSchema as AppointmentFileUpsertWithWhereUniqueWithoutAppointmentInputObjectSchema } from './AppointmentFileUpsertWithWhereUniqueWithoutAppointmentInput.schema';
import { AppointmentFileCreateManyAppointmentInputEnvelopeObjectSchema as AppointmentFileCreateManyAppointmentInputEnvelopeObjectSchema } from './AppointmentFileCreateManyAppointmentInputEnvelope.schema';
import { AppointmentFileWhereUniqueInputObjectSchema as AppointmentFileWhereUniqueInputObjectSchema } from './AppointmentFileWhereUniqueInput.schema';
import { AppointmentFileUpdateWithWhereUniqueWithoutAppointmentInputObjectSchema as AppointmentFileUpdateWithWhereUniqueWithoutAppointmentInputObjectSchema } from './AppointmentFileUpdateWithWhereUniqueWithoutAppointmentInput.schema';
import { AppointmentFileUpdateManyWithWhereWithoutAppointmentInputObjectSchema as AppointmentFileUpdateManyWithWhereWithoutAppointmentInputObjectSchema } from './AppointmentFileUpdateManyWithWhereWithoutAppointmentInput.schema';
import { AppointmentFileScalarWhereInputObjectSchema as AppointmentFileScalarWhereInputObjectSchema } from './AppointmentFileScalarWhereInput.schema'

const makeSchema = () => z.object({
  create: z.union([z.lazy(() => AppointmentFileCreateWithoutAppointmentInputObjectSchema), z.lazy(() => AppointmentFileCreateWithoutAppointmentInputObjectSchema).array(), z.lazy(() => AppointmentFileUncheckedCreateWithoutAppointmentInputObjectSchema), z.lazy(() => AppointmentFileUncheckedCreateWithoutAppointmentInputObjectSchema).array()]).optional(),
  connectOrCreate: z.union([z.lazy(() => AppointmentFileCreateOrConnectWithoutAppointmentInputObjectSchema), z.lazy(() => AppointmentFileCreateOrConnectWithoutAppointmentInputObjectSchema).array()]).optional(),
  upsert: z.union([z.lazy(() => AppointmentFileUpsertWithWhereUniqueWithoutAppointmentInputObjectSchema), z.lazy(() => AppointmentFileUpsertWithWhereUniqueWithoutAppointmentInputObjectSchema).array()]).optional(),
  createMany: z.lazy(() => AppointmentFileCreateManyAppointmentInputEnvelopeObjectSchema).optional(),
  set: z.union([z.lazy(() => AppointmentFileWhereUniqueInputObjectSchema), z.lazy(() => AppointmentFileWhereUniqueInputObjectSchema).array()]).optional(),
  disconnect: z.union([z.lazy(() => AppointmentFileWhereUniqueInputObjectSchema), z.lazy(() => AppointmentFileWhereUniqueInputObjectSchema).array()]).optional(),
  delete: z.union([z.lazy(() => AppointmentFileWhereUniqueInputObjectSchema), z.lazy(() => AppointmentFileWhereUniqueInputObjectSchema).array()]).optional(),
  connect: z.union([z.lazy(() => AppointmentFileWhereUniqueInputObjectSchema), z.lazy(() => AppointmentFileWhereUniqueInputObjectSchema).array()]).optional(),
  update: z.union([z.lazy(() => AppointmentFileUpdateWithWhereUniqueWithoutAppointmentInputObjectSchema), z.lazy(() => AppointmentFileUpdateWithWhereUniqueWithoutAppointmentInputObjectSchema).array()]).optional(),
  updateMany: z.union([z.lazy(() => AppointmentFileUpdateManyWithWhereWithoutAppointmentInputObjectSchema), z.lazy(() => AppointmentFileUpdateManyWithWhereWithoutAppointmentInputObjectSchema).array()]).optional(),
  deleteMany: z.union([z.lazy(() => AppointmentFileScalarWhereInputObjectSchema), z.lazy(() => AppointmentFileScalarWhereInputObjectSchema).array()]).optional()
}).strict();
export const AppointmentFileUpdateManyWithoutAppointmentNestedInputObjectSchema: z.ZodType<Prisma.AppointmentFileUpdateManyWithoutAppointmentNestedInput> = makeSchema() as unknown as z.ZodType<Prisma.AppointmentFileUpdateManyWithoutAppointmentNestedInput>;
export const AppointmentFileUpdateManyWithoutAppointmentNestedInputObjectZodSchema = makeSchema();
