import * as z from 'zod';
import type { Prisma } from '../../../generated/prisma';
import { InsuranceContactCreateWithoutUserInputObjectSchema as InsuranceContactCreateWithoutUserInputObjectSchema } from './InsuranceContactCreateWithoutUserInput.schema';
import { InsuranceContactUncheckedCreateWithoutUserInputObjectSchema as InsuranceContactUncheckedCreateWithoutUserInputObjectSchema } from './InsuranceContactUncheckedCreateWithoutUserInput.schema';
import { InsuranceContactCreateOrConnectWithoutUserInputObjectSchema as InsuranceContactCreateOrConnectWithoutUserInputObjectSchema } from './InsuranceContactCreateOrConnectWithoutUserInput.schema';
import { InsuranceContactUpsertWithWhereUniqueWithoutUserInputObjectSchema as InsuranceContactUpsertWithWhereUniqueWithoutUserInputObjectSchema } from './InsuranceContactUpsertWithWhereUniqueWithoutUserInput.schema';
import { InsuranceContactCreateManyUserInputEnvelopeObjectSchema as InsuranceContactCreateManyUserInputEnvelopeObjectSchema } from './InsuranceContactCreateManyUserInputEnvelope.schema';
import { InsuranceContactWhereUniqueInputObjectSchema as InsuranceContactWhereUniqueInputObjectSchema } from './InsuranceContactWhereUniqueInput.schema';
import { InsuranceContactUpdateWithWhereUniqueWithoutUserInputObjectSchema as InsuranceContactUpdateWithWhereUniqueWithoutUserInputObjectSchema } from './InsuranceContactUpdateWithWhereUniqueWithoutUserInput.schema';
import { InsuranceContactUpdateManyWithWhereWithoutUserInputObjectSchema as InsuranceContactUpdateManyWithWhereWithoutUserInputObjectSchema } from './InsuranceContactUpdateManyWithWhereWithoutUserInput.schema';
import { InsuranceContactScalarWhereInputObjectSchema as InsuranceContactScalarWhereInputObjectSchema } from './InsuranceContactScalarWhereInput.schema'

const makeSchema = () => z.object({
  create: z.union([z.lazy(() => InsuranceContactCreateWithoutUserInputObjectSchema), z.lazy(() => InsuranceContactCreateWithoutUserInputObjectSchema).array(), z.lazy(() => InsuranceContactUncheckedCreateWithoutUserInputObjectSchema), z.lazy(() => InsuranceContactUncheckedCreateWithoutUserInputObjectSchema).array()]).optional(),
  connectOrCreate: z.union([z.lazy(() => InsuranceContactCreateOrConnectWithoutUserInputObjectSchema), z.lazy(() => InsuranceContactCreateOrConnectWithoutUserInputObjectSchema).array()]).optional(),
  upsert: z.union([z.lazy(() => InsuranceContactUpsertWithWhereUniqueWithoutUserInputObjectSchema), z.lazy(() => InsuranceContactUpsertWithWhereUniqueWithoutUserInputObjectSchema).array()]).optional(),
  createMany: z.lazy(() => InsuranceContactCreateManyUserInputEnvelopeObjectSchema).optional(),
  set: z.union([z.lazy(() => InsuranceContactWhereUniqueInputObjectSchema), z.lazy(() => InsuranceContactWhereUniqueInputObjectSchema).array()]).optional(),
  disconnect: z.union([z.lazy(() => InsuranceContactWhereUniqueInputObjectSchema), z.lazy(() => InsuranceContactWhereUniqueInputObjectSchema).array()]).optional(),
  delete: z.union([z.lazy(() => InsuranceContactWhereUniqueInputObjectSchema), z.lazy(() => InsuranceContactWhereUniqueInputObjectSchema).array()]).optional(),
  connect: z.union([z.lazy(() => InsuranceContactWhereUniqueInputObjectSchema), z.lazy(() => InsuranceContactWhereUniqueInputObjectSchema).array()]).optional(),
  update: z.union([z.lazy(() => InsuranceContactUpdateWithWhereUniqueWithoutUserInputObjectSchema), z.lazy(() => InsuranceContactUpdateWithWhereUniqueWithoutUserInputObjectSchema).array()]).optional(),
  updateMany: z.union([z.lazy(() => InsuranceContactUpdateManyWithWhereWithoutUserInputObjectSchema), z.lazy(() => InsuranceContactUpdateManyWithWhereWithoutUserInputObjectSchema).array()]).optional(),
  deleteMany: z.union([z.lazy(() => InsuranceContactScalarWhereInputObjectSchema), z.lazy(() => InsuranceContactScalarWhereInputObjectSchema).array()]).optional()
}).strict();
export const InsuranceContactUncheckedUpdateManyWithoutUserNestedInputObjectSchema: z.ZodType<Prisma.InsuranceContactUncheckedUpdateManyWithoutUserNestedInput> = makeSchema() as unknown as z.ZodType<Prisma.InsuranceContactUncheckedUpdateManyWithoutUserNestedInput>;
export const InsuranceContactUncheckedUpdateManyWithoutUserNestedInputObjectZodSchema = makeSchema();
