import * as z from 'zod';
import type { Prisma } from '../../../generated/prisma';
import { ClaimCreateWithoutStaffInputObjectSchema as ClaimCreateWithoutStaffInputObjectSchema } from './ClaimCreateWithoutStaffInput.schema';
import { ClaimUncheckedCreateWithoutStaffInputObjectSchema as ClaimUncheckedCreateWithoutStaffInputObjectSchema } from './ClaimUncheckedCreateWithoutStaffInput.schema';
import { ClaimCreateOrConnectWithoutStaffInputObjectSchema as ClaimCreateOrConnectWithoutStaffInputObjectSchema } from './ClaimCreateOrConnectWithoutStaffInput.schema';
import { ClaimCreateManyStaffInputEnvelopeObjectSchema as ClaimCreateManyStaffInputEnvelopeObjectSchema } from './ClaimCreateManyStaffInputEnvelope.schema';
import { ClaimWhereUniqueInputObjectSchema as ClaimWhereUniqueInputObjectSchema } from './ClaimWhereUniqueInput.schema'

const makeSchema = () => z.object({
  create: z.union([z.lazy(() => ClaimCreateWithoutStaffInputObjectSchema), z.lazy(() => ClaimCreateWithoutStaffInputObjectSchema).array(), z.lazy(() => ClaimUncheckedCreateWithoutStaffInputObjectSchema), z.lazy(() => ClaimUncheckedCreateWithoutStaffInputObjectSchema).array()]).optional(),
  connectOrCreate: z.union([z.lazy(() => ClaimCreateOrConnectWithoutStaffInputObjectSchema), z.lazy(() => ClaimCreateOrConnectWithoutStaffInputObjectSchema).array()]).optional(),
  createMany: z.lazy(() => ClaimCreateManyStaffInputEnvelopeObjectSchema).optional(),
  connect: z.union([z.lazy(() => ClaimWhereUniqueInputObjectSchema), z.lazy(() => ClaimWhereUniqueInputObjectSchema).array()]).optional()
}).strict();
export const ClaimUncheckedCreateNestedManyWithoutStaffInputObjectSchema: z.ZodType<Prisma.ClaimUncheckedCreateNestedManyWithoutStaffInput> = makeSchema() as unknown as z.ZodType<Prisma.ClaimUncheckedCreateNestedManyWithoutStaffInput>;
export const ClaimUncheckedCreateNestedManyWithoutStaffInputObjectZodSchema = makeSchema();
