import * as z from 'zod';
import type { Prisma } from '../../../generated/prisma';
import { ClaimCreateWithoutServiceLinesInputObjectSchema as ClaimCreateWithoutServiceLinesInputObjectSchema } from './ClaimCreateWithoutServiceLinesInput.schema';
import { ClaimUncheckedCreateWithoutServiceLinesInputObjectSchema as ClaimUncheckedCreateWithoutServiceLinesInputObjectSchema } from './ClaimUncheckedCreateWithoutServiceLinesInput.schema';
import { ClaimCreateOrConnectWithoutServiceLinesInputObjectSchema as ClaimCreateOrConnectWithoutServiceLinesInputObjectSchema } from './ClaimCreateOrConnectWithoutServiceLinesInput.schema';
import { ClaimUpsertWithoutServiceLinesInputObjectSchema as ClaimUpsertWithoutServiceLinesInputObjectSchema } from './ClaimUpsertWithoutServiceLinesInput.schema';
import { ClaimWhereInputObjectSchema as ClaimWhereInputObjectSchema } from './ClaimWhereInput.schema';
import { ClaimWhereUniqueInputObjectSchema as ClaimWhereUniqueInputObjectSchema } from './ClaimWhereUniqueInput.schema';
import { ClaimUpdateToOneWithWhereWithoutServiceLinesInputObjectSchema as ClaimUpdateToOneWithWhereWithoutServiceLinesInputObjectSchema } from './ClaimUpdateToOneWithWhereWithoutServiceLinesInput.schema';
import { ClaimUpdateWithoutServiceLinesInputObjectSchema as ClaimUpdateWithoutServiceLinesInputObjectSchema } from './ClaimUpdateWithoutServiceLinesInput.schema';
import { ClaimUncheckedUpdateWithoutServiceLinesInputObjectSchema as ClaimUncheckedUpdateWithoutServiceLinesInputObjectSchema } from './ClaimUncheckedUpdateWithoutServiceLinesInput.schema'

const makeSchema = () => z.object({
  create: z.union([z.lazy(() => ClaimCreateWithoutServiceLinesInputObjectSchema), z.lazy(() => ClaimUncheckedCreateWithoutServiceLinesInputObjectSchema)]).optional(),
  connectOrCreate: z.lazy(() => ClaimCreateOrConnectWithoutServiceLinesInputObjectSchema).optional(),
  upsert: z.lazy(() => ClaimUpsertWithoutServiceLinesInputObjectSchema).optional(),
  disconnect: z.union([z.boolean(), z.lazy(() => ClaimWhereInputObjectSchema)]).optional(),
  delete: z.union([z.boolean(), z.lazy(() => ClaimWhereInputObjectSchema)]).optional(),
  connect: z.lazy(() => ClaimWhereUniqueInputObjectSchema).optional(),
  update: z.union([z.lazy(() => ClaimUpdateToOneWithWhereWithoutServiceLinesInputObjectSchema), z.lazy(() => ClaimUpdateWithoutServiceLinesInputObjectSchema), z.lazy(() => ClaimUncheckedUpdateWithoutServiceLinesInputObjectSchema)]).optional()
}).strict();
export const ClaimUpdateOneWithoutServiceLinesNestedInputObjectSchema: z.ZodType<Prisma.ClaimUpdateOneWithoutServiceLinesNestedInput> = makeSchema() as unknown as z.ZodType<Prisma.ClaimUpdateOneWithoutServiceLinesNestedInput>;
export const ClaimUpdateOneWithoutServiceLinesNestedInputObjectZodSchema = makeSchema();
