import * as z from 'zod';
import type { Prisma } from '../../../generated/prisma';
import { ClaimCreateWithoutUserInputObjectSchema as ClaimCreateWithoutUserInputObjectSchema } from './ClaimCreateWithoutUserInput.schema';
import { ClaimUncheckedCreateWithoutUserInputObjectSchema as ClaimUncheckedCreateWithoutUserInputObjectSchema } from './ClaimUncheckedCreateWithoutUserInput.schema';
import { ClaimCreateOrConnectWithoutUserInputObjectSchema as ClaimCreateOrConnectWithoutUserInputObjectSchema } from './ClaimCreateOrConnectWithoutUserInput.schema';
import { ClaimCreateManyUserInputEnvelopeObjectSchema as ClaimCreateManyUserInputEnvelopeObjectSchema } from './ClaimCreateManyUserInputEnvelope.schema';
import { ClaimWhereUniqueInputObjectSchema as ClaimWhereUniqueInputObjectSchema } from './ClaimWhereUniqueInput.schema'

const makeSchema = () => z.object({
  create: z.union([z.lazy(() => ClaimCreateWithoutUserInputObjectSchema), z.lazy(() => ClaimCreateWithoutUserInputObjectSchema).array(), z.lazy(() => ClaimUncheckedCreateWithoutUserInputObjectSchema), z.lazy(() => ClaimUncheckedCreateWithoutUserInputObjectSchema).array()]).optional(),
  connectOrCreate: z.union([z.lazy(() => ClaimCreateOrConnectWithoutUserInputObjectSchema), z.lazy(() => ClaimCreateOrConnectWithoutUserInputObjectSchema).array()]).optional(),
  createMany: z.lazy(() => ClaimCreateManyUserInputEnvelopeObjectSchema).optional(),
  connect: z.union([z.lazy(() => ClaimWhereUniqueInputObjectSchema), z.lazy(() => ClaimWhereUniqueInputObjectSchema).array()]).optional()
}).strict();
export const ClaimCreateNestedManyWithoutUserInputObjectSchema: z.ZodType<Prisma.ClaimCreateNestedManyWithoutUserInput> = makeSchema() as unknown as z.ZodType<Prisma.ClaimCreateNestedManyWithoutUserInput>;
export const ClaimCreateNestedManyWithoutUserInputObjectZodSchema = makeSchema();
