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 { InsuranceCredentialCreateManyUserInputEnvelopeObjectSchema as InsuranceCredentialCreateManyUserInputEnvelopeObjectSchema } from './InsuranceCredentialCreateManyUserInputEnvelope.schema';
import { InsuranceCredentialWhereUniqueInputObjectSchema as InsuranceCredentialWhereUniqueInputObjectSchema } from './InsuranceCredentialWhereUniqueInput.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(),
  createMany: z.lazy(() => InsuranceCredentialCreateManyUserInputEnvelopeObjectSchema).optional(),
  connect: z.union([z.lazy(() => InsuranceCredentialWhereUniqueInputObjectSchema), z.lazy(() => InsuranceCredentialWhereUniqueInputObjectSchema).array()]).optional()
}).strict();
export const InsuranceCredentialCreateNestedManyWithoutUserInputObjectSchema: z.ZodType<Prisma.InsuranceCredentialCreateNestedManyWithoutUserInput> = makeSchema() as unknown as z.ZodType<Prisma.InsuranceCredentialCreateNestedManyWithoutUserInput>;
export const InsuranceCredentialCreateNestedManyWithoutUserInputObjectZodSchema = makeSchema();
