import * as z from 'zod';
import type { Prisma } from '../../../generated/prisma';
import { ServiceLineCreateWithoutPaymentInputObjectSchema as ServiceLineCreateWithoutPaymentInputObjectSchema } from './ServiceLineCreateWithoutPaymentInput.schema';
import { ServiceLineUncheckedCreateWithoutPaymentInputObjectSchema as ServiceLineUncheckedCreateWithoutPaymentInputObjectSchema } from './ServiceLineUncheckedCreateWithoutPaymentInput.schema';
import { ServiceLineCreateOrConnectWithoutPaymentInputObjectSchema as ServiceLineCreateOrConnectWithoutPaymentInputObjectSchema } from './ServiceLineCreateOrConnectWithoutPaymentInput.schema';
import { ServiceLineUpsertWithWhereUniqueWithoutPaymentInputObjectSchema as ServiceLineUpsertWithWhereUniqueWithoutPaymentInputObjectSchema } from './ServiceLineUpsertWithWhereUniqueWithoutPaymentInput.schema';
import { ServiceLineCreateManyPaymentInputEnvelopeObjectSchema as ServiceLineCreateManyPaymentInputEnvelopeObjectSchema } from './ServiceLineCreateManyPaymentInputEnvelope.schema';
import { ServiceLineWhereUniqueInputObjectSchema as ServiceLineWhereUniqueInputObjectSchema } from './ServiceLineWhereUniqueInput.schema';
import { ServiceLineUpdateWithWhereUniqueWithoutPaymentInputObjectSchema as ServiceLineUpdateWithWhereUniqueWithoutPaymentInputObjectSchema } from './ServiceLineUpdateWithWhereUniqueWithoutPaymentInput.schema';
import { ServiceLineUpdateManyWithWhereWithoutPaymentInputObjectSchema as ServiceLineUpdateManyWithWhereWithoutPaymentInputObjectSchema } from './ServiceLineUpdateManyWithWhereWithoutPaymentInput.schema';
import { ServiceLineScalarWhereInputObjectSchema as ServiceLineScalarWhereInputObjectSchema } from './ServiceLineScalarWhereInput.schema'

const makeSchema = () => z.object({
  create: z.union([z.lazy(() => ServiceLineCreateWithoutPaymentInputObjectSchema), z.lazy(() => ServiceLineCreateWithoutPaymentInputObjectSchema).array(), z.lazy(() => ServiceLineUncheckedCreateWithoutPaymentInputObjectSchema), z.lazy(() => ServiceLineUncheckedCreateWithoutPaymentInputObjectSchema).array()]).optional(),
  connectOrCreate: z.union([z.lazy(() => ServiceLineCreateOrConnectWithoutPaymentInputObjectSchema), z.lazy(() => ServiceLineCreateOrConnectWithoutPaymentInputObjectSchema).array()]).optional(),
  upsert: z.union([z.lazy(() => ServiceLineUpsertWithWhereUniqueWithoutPaymentInputObjectSchema), z.lazy(() => ServiceLineUpsertWithWhereUniqueWithoutPaymentInputObjectSchema).array()]).optional(),
  createMany: z.lazy(() => ServiceLineCreateManyPaymentInputEnvelopeObjectSchema).optional(),
  set: z.union([z.lazy(() => ServiceLineWhereUniqueInputObjectSchema), z.lazy(() => ServiceLineWhereUniqueInputObjectSchema).array()]).optional(),
  disconnect: z.union([z.lazy(() => ServiceLineWhereUniqueInputObjectSchema), z.lazy(() => ServiceLineWhereUniqueInputObjectSchema).array()]).optional(),
  delete: z.union([z.lazy(() => ServiceLineWhereUniqueInputObjectSchema), z.lazy(() => ServiceLineWhereUniqueInputObjectSchema).array()]).optional(),
  connect: z.union([z.lazy(() => ServiceLineWhereUniqueInputObjectSchema), z.lazy(() => ServiceLineWhereUniqueInputObjectSchema).array()]).optional(),
  update: z.union([z.lazy(() => ServiceLineUpdateWithWhereUniqueWithoutPaymentInputObjectSchema), z.lazy(() => ServiceLineUpdateWithWhereUniqueWithoutPaymentInputObjectSchema).array()]).optional(),
  updateMany: z.union([z.lazy(() => ServiceLineUpdateManyWithWhereWithoutPaymentInputObjectSchema), z.lazy(() => ServiceLineUpdateManyWithWhereWithoutPaymentInputObjectSchema).array()]).optional(),
  deleteMany: z.union([z.lazy(() => ServiceLineScalarWhereInputObjectSchema), z.lazy(() => ServiceLineScalarWhereInputObjectSchema).array()]).optional()
}).strict();
export const ServiceLineUncheckedUpdateManyWithoutPaymentNestedInputObjectSchema: z.ZodType<Prisma.ServiceLineUncheckedUpdateManyWithoutPaymentNestedInput> = makeSchema() as unknown as z.ZodType<Prisma.ServiceLineUncheckedUpdateManyWithoutPaymentNestedInput>;
export const ServiceLineUncheckedUpdateManyWithoutPaymentNestedInputObjectZodSchema = makeSchema();
