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 { ClaimUpsertWithWhereUniqueWithoutStaffInputObjectSchema as ClaimUpsertWithWhereUniqueWithoutStaffInputObjectSchema } from './ClaimUpsertWithWhereUniqueWithoutStaffInput.schema';
import { ClaimCreateManyStaffInputEnvelopeObjectSchema as ClaimCreateManyStaffInputEnvelopeObjectSchema } from './ClaimCreateManyStaffInputEnvelope.schema';
import { ClaimWhereUniqueInputObjectSchema as ClaimWhereUniqueInputObjectSchema } from './ClaimWhereUniqueInput.schema';
import { ClaimUpdateWithWhereUniqueWithoutStaffInputObjectSchema as ClaimUpdateWithWhereUniqueWithoutStaffInputObjectSchema } from './ClaimUpdateWithWhereUniqueWithoutStaffInput.schema';
import { ClaimUpdateManyWithWhereWithoutStaffInputObjectSchema as ClaimUpdateManyWithWhereWithoutStaffInputObjectSchema } from './ClaimUpdateManyWithWhereWithoutStaffInput.schema';
import { ClaimScalarWhereInputObjectSchema as ClaimScalarWhereInputObjectSchema } from './ClaimScalarWhereInput.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(),
  upsert: z.union([z.lazy(() => ClaimUpsertWithWhereUniqueWithoutStaffInputObjectSchema), z.lazy(() => ClaimUpsertWithWhereUniqueWithoutStaffInputObjectSchema).array()]).optional(),
  createMany: z.lazy(() => ClaimCreateManyStaffInputEnvelopeObjectSchema).optional(),
  set: z.union([z.lazy(() => ClaimWhereUniqueInputObjectSchema), z.lazy(() => ClaimWhereUniqueInputObjectSchema).array()]).optional(),
  disconnect: z.union([z.lazy(() => ClaimWhereUniqueInputObjectSchema), z.lazy(() => ClaimWhereUniqueInputObjectSchema).array()]).optional(),
  delete: z.union([z.lazy(() => ClaimWhereUniqueInputObjectSchema), z.lazy(() => ClaimWhereUniqueInputObjectSchema).array()]).optional(),
  connect: z.union([z.lazy(() => ClaimWhereUniqueInputObjectSchema), z.lazy(() => ClaimWhereUniqueInputObjectSchema).array()]).optional(),
  update: z.union([z.lazy(() => ClaimUpdateWithWhereUniqueWithoutStaffInputObjectSchema), z.lazy(() => ClaimUpdateWithWhereUniqueWithoutStaffInputObjectSchema).array()]).optional(),
  updateMany: z.union([z.lazy(() => ClaimUpdateManyWithWhereWithoutStaffInputObjectSchema), z.lazy(() => ClaimUpdateManyWithWhereWithoutStaffInputObjectSchema).array()]).optional(),
  deleteMany: z.union([z.lazy(() => ClaimScalarWhereInputObjectSchema), z.lazy(() => ClaimScalarWhereInputObjectSchema).array()]).optional()
}).strict();
export const ClaimUpdateManyWithoutStaffNestedInputObjectSchema: z.ZodType<Prisma.ClaimUpdateManyWithoutStaffNestedInput> = makeSchema() as unknown as z.ZodType<Prisma.ClaimUpdateManyWithoutStaffNestedInput>;
export const ClaimUpdateManyWithoutStaffNestedInputObjectZodSchema = makeSchema();
