import * as z from 'zod';
import type { Prisma } from '../../../generated/prisma';
import { ClaimCreateWithoutPatientInputObjectSchema as ClaimCreateWithoutPatientInputObjectSchema } from './ClaimCreateWithoutPatientInput.schema';
import { ClaimUncheckedCreateWithoutPatientInputObjectSchema as ClaimUncheckedCreateWithoutPatientInputObjectSchema } from './ClaimUncheckedCreateWithoutPatientInput.schema';
import { ClaimCreateOrConnectWithoutPatientInputObjectSchema as ClaimCreateOrConnectWithoutPatientInputObjectSchema } from './ClaimCreateOrConnectWithoutPatientInput.schema';
import { ClaimCreateManyPatientInputEnvelopeObjectSchema as ClaimCreateManyPatientInputEnvelopeObjectSchema } from './ClaimCreateManyPatientInputEnvelope.schema';
import { ClaimWhereUniqueInputObjectSchema as ClaimWhereUniqueInputObjectSchema } from './ClaimWhereUniqueInput.schema'

const makeSchema = () => z.object({
  create: z.union([z.lazy(() => ClaimCreateWithoutPatientInputObjectSchema), z.lazy(() => ClaimCreateWithoutPatientInputObjectSchema).array(), z.lazy(() => ClaimUncheckedCreateWithoutPatientInputObjectSchema), z.lazy(() => ClaimUncheckedCreateWithoutPatientInputObjectSchema).array()]).optional(),
  connectOrCreate: z.union([z.lazy(() => ClaimCreateOrConnectWithoutPatientInputObjectSchema), z.lazy(() => ClaimCreateOrConnectWithoutPatientInputObjectSchema).array()]).optional(),
  createMany: z.lazy(() => ClaimCreateManyPatientInputEnvelopeObjectSchema).optional(),
  connect: z.union([z.lazy(() => ClaimWhereUniqueInputObjectSchema), z.lazy(() => ClaimWhereUniqueInputObjectSchema).array()]).optional()
}).strict();
export const ClaimCreateNestedManyWithoutPatientInputObjectSchema: z.ZodType<Prisma.ClaimCreateNestedManyWithoutPatientInput> = makeSchema() as unknown as z.ZodType<Prisma.ClaimCreateNestedManyWithoutPatientInput>;
export const ClaimCreateNestedManyWithoutPatientInputObjectZodSchema = makeSchema();
