import * as z from 'zod';
import type { Prisma } from '../../../generated/prisma';
import { InsuranceCredentialCreateWithoutUserInputObjectSchema as InsuranceCredentialCreateWithoutUserInputObjectSchema } from './InsuranceCredentialCreateWithoutUserInput.schema';
import { InsuranceCredentialUncheckedCreateWithoutUserInputObjectSchema as InsuranceCredentialUncheckedCreateWithoutUserInputObjectSchema } from './InsuranceCredentialUncheckedCreateWithoutUserInput.schema';
import { InsuranceCredentialCreateOrConnectWithoutUserInputObjectSchema as InsuranceCredentialCreateOrConnectWithoutUserInputObjectSchema } from './InsuranceCredentialCreateOrConnectWithoutUserInput.schema';
import { InsuranceCredentialUpsertWithWhereUniqueWithoutUserInputObjectSchema as InsuranceCredentialUpsertWithWhereUniqueWithoutUserInputObjectSchema } from './InsuranceCredentialUpsertWithWhereUniqueWithoutUserInput.schema';
import { InsuranceCredentialCreateManyUserInputEnvelopeObjectSchema as InsuranceCredentialCreateManyUserInputEnvelopeObjectSchema } from './InsuranceCredentialCreateManyUserInputEnvelope.schema';
import { InsuranceCredentialWhereUniqueInputObjectSchema as InsuranceCredentialWhereUniqueInputObjectSchema } from './InsuranceCredentialWhereUniqueInput.schema';
import { InsuranceCredentialUpdateWithWhereUniqueWithoutUserInputObjectSchema as InsuranceCredentialUpdateWithWhereUniqueWithoutUserInputObjectSchema } from './InsuranceCredentialUpdateWithWhereUniqueWithoutUserInput.schema';
import { InsuranceCredentialUpdateManyWithWhereWithoutUserInputObjectSchema as InsuranceCredentialUpdateManyWithWhereWithoutUserInputObjectSchema } from './InsuranceCredentialUpdateManyWithWhereWithoutUserInput.schema';
import { InsuranceCredentialScalarWhereInputObjectSchema as InsuranceCredentialScalarWhereInputObjectSchema } from './InsuranceCredentialScalarWhereInput.schema'

const makeSchema = () => z.object({
  create: z.union([z.lazy(() => InsuranceCredentialCreateWithoutUserInputObjectSchema), z.lazy(() => InsuranceCredentialCreateWithoutUserInputObjectSchema).array(), z.lazy(() => InsuranceCredentialUncheckedCreateWithoutUserInputObjectSchema), z.lazy(() => InsuranceCredentialUncheckedCreateWithoutUserInputObjectSchema).array()]).optional(),
  connectOrCreate: z.union([z.lazy(() => InsuranceCredentialCreateOrConnectWithoutUserInputObjectSchema), z.lazy(() => InsuranceCredentialCreateOrConnectWithoutUserInputObjectSchema).array()]).optional(),
  upsert: z.union([z.lazy(() => InsuranceCredentialUpsertWithWhereUniqueWithoutUserInputObjectSchema), z.lazy(() => InsuranceCredentialUpsertWithWhereUniqueWithoutUserInputObjectSchema).array()]).optional(),
  createMany: z.lazy(() => InsuranceCredentialCreateManyUserInputEnvelopeObjectSchema).optional(),
  set: z.union([z.lazy(() => InsuranceCredentialWhereUniqueInputObjectSchema), z.lazy(() => InsuranceCredentialWhereUniqueInputObjectSchema).array()]).optional(),
  disconnect: z.union([z.lazy(() => InsuranceCredentialWhereUniqueInputObjectSchema), z.lazy(() => InsuranceCredentialWhereUniqueInputObjectSchema).array()]).optional(),
  delete: z.union([z.lazy(() => InsuranceCredentialWhereUniqueInputObjectSchema), z.lazy(() => InsuranceCredentialWhereUniqueInputObjectSchema).array()]).optional(),
  connect: z.union([z.lazy(() => InsuranceCredentialWhereUniqueInputObjectSchema), z.lazy(() => InsuranceCredentialWhereUniqueInputObjectSchema).array()]).optional(),
  update: z.union([z.lazy(() => InsuranceCredentialUpdateWithWhereUniqueWithoutUserInputObjectSchema), z.lazy(() => InsuranceCredentialUpdateWithWhereUniqueWithoutUserInputObjectSchema).array()]).optional(),
  updateMany: z.union([z.lazy(() => InsuranceCredentialUpdateManyWithWhereWithoutUserInputObjectSchema), z.lazy(() => InsuranceCredentialUpdateManyWithWhereWithoutUserInputObjectSchema).array()]).optional(),
  deleteMany: z.union([z.lazy(() => InsuranceCredentialScalarWhereInputObjectSchema), z.lazy(() => InsuranceCredentialScalarWhereInputObjectSchema).array()]).optional()
}).strict();
export const InsuranceCredentialUncheckedUpdateManyWithoutUserNestedInputObjectSchema: z.ZodType<Prisma.InsuranceCredentialUncheckedUpdateManyWithoutUserNestedInput> = makeSchema() as unknown as z.ZodType<Prisma.InsuranceCredentialUncheckedUpdateManyWithoutUserNestedInput>;
export const InsuranceCredentialUncheckedUpdateManyWithoutUserNestedInputObjectZodSchema = makeSchema();
