import * as z from 'zod';
import type { Prisma } from '../../../generated/prisma';
import { ServiceLineTransactionCreateWithoutPaymentInputObjectSchema as ServiceLineTransactionCreateWithoutPaymentInputObjectSchema } from './ServiceLineTransactionCreateWithoutPaymentInput.schema';
import { ServiceLineTransactionUncheckedCreateWithoutPaymentInputObjectSchema as ServiceLineTransactionUncheckedCreateWithoutPaymentInputObjectSchema } from './ServiceLineTransactionUncheckedCreateWithoutPaymentInput.schema';
import { ServiceLineTransactionCreateOrConnectWithoutPaymentInputObjectSchema as ServiceLineTransactionCreateOrConnectWithoutPaymentInputObjectSchema } from './ServiceLineTransactionCreateOrConnectWithoutPaymentInput.schema';
import { ServiceLineTransactionUpsertWithWhereUniqueWithoutPaymentInputObjectSchema as ServiceLineTransactionUpsertWithWhereUniqueWithoutPaymentInputObjectSchema } from './ServiceLineTransactionUpsertWithWhereUniqueWithoutPaymentInput.schema';
import { ServiceLineTransactionCreateManyPaymentInputEnvelopeObjectSchema as ServiceLineTransactionCreateManyPaymentInputEnvelopeObjectSchema } from './ServiceLineTransactionCreateManyPaymentInputEnvelope.schema';
import { ServiceLineTransactionWhereUniqueInputObjectSchema as ServiceLineTransactionWhereUniqueInputObjectSchema } from './ServiceLineTransactionWhereUniqueInput.schema';
import { ServiceLineTransactionUpdateWithWhereUniqueWithoutPaymentInputObjectSchema as ServiceLineTransactionUpdateWithWhereUniqueWithoutPaymentInputObjectSchema } from './ServiceLineTransactionUpdateWithWhereUniqueWithoutPaymentInput.schema';
import { ServiceLineTransactionUpdateManyWithWhereWithoutPaymentInputObjectSchema as ServiceLineTransactionUpdateManyWithWhereWithoutPaymentInputObjectSchema } from './ServiceLineTransactionUpdateManyWithWhereWithoutPaymentInput.schema';
import { ServiceLineTransactionScalarWhereInputObjectSchema as ServiceLineTransactionScalarWhereInputObjectSchema } from './ServiceLineTransactionScalarWhereInput.schema'

const makeSchema = () => z.object({
  create: z.union([z.lazy(() => ServiceLineTransactionCreateWithoutPaymentInputObjectSchema), z.lazy(() => ServiceLineTransactionCreateWithoutPaymentInputObjectSchema).array(), z.lazy(() => ServiceLineTransactionUncheckedCreateWithoutPaymentInputObjectSchema), z.lazy(() => ServiceLineTransactionUncheckedCreateWithoutPaymentInputObjectSchema).array()]).optional(),
  connectOrCreate: z.union([z.lazy(() => ServiceLineTransactionCreateOrConnectWithoutPaymentInputObjectSchema), z.lazy(() => ServiceLineTransactionCreateOrConnectWithoutPaymentInputObjectSchema).array()]).optional(),
  upsert: z.union([z.lazy(() => ServiceLineTransactionUpsertWithWhereUniqueWithoutPaymentInputObjectSchema), z.lazy(() => ServiceLineTransactionUpsertWithWhereUniqueWithoutPaymentInputObjectSchema).array()]).optional(),
  createMany: z.lazy(() => ServiceLineTransactionCreateManyPaymentInputEnvelopeObjectSchema).optional(),
  set: z.union([z.lazy(() => ServiceLineTransactionWhereUniqueInputObjectSchema), z.lazy(() => ServiceLineTransactionWhereUniqueInputObjectSchema).array()]).optional(),
  disconnect: z.union([z.lazy(() => ServiceLineTransactionWhereUniqueInputObjectSchema), z.lazy(() => ServiceLineTransactionWhereUniqueInputObjectSchema).array()]).optional(),
  delete: z.union([z.lazy(() => ServiceLineTransactionWhereUniqueInputObjectSchema), z.lazy(() => ServiceLineTransactionWhereUniqueInputObjectSchema).array()]).optional(),
  connect: z.union([z.lazy(() => ServiceLineTransactionWhereUniqueInputObjectSchema), z.lazy(() => ServiceLineTransactionWhereUniqueInputObjectSchema).array()]).optional(),
  update: z.union([z.lazy(() => ServiceLineTransactionUpdateWithWhereUniqueWithoutPaymentInputObjectSchema), z.lazy(() => ServiceLineTransactionUpdateWithWhereUniqueWithoutPaymentInputObjectSchema).array()]).optional(),
  updateMany: z.union([z.lazy(() => ServiceLineTransactionUpdateManyWithWhereWithoutPaymentInputObjectSchema), z.lazy(() => ServiceLineTransactionUpdateManyWithWhereWithoutPaymentInputObjectSchema).array()]).optional(),
  deleteMany: z.union([z.lazy(() => ServiceLineTransactionScalarWhereInputObjectSchema), z.lazy(() => ServiceLineTransactionScalarWhereInputObjectSchema).array()]).optional()
}).strict();
export const ServiceLineTransactionUncheckedUpdateManyWithoutPaymentNestedInputObjectSchema: z.ZodType<Prisma.ServiceLineTransactionUncheckedUpdateManyWithoutPaymentNestedInput> = makeSchema() as unknown as z.ZodType<Prisma.ServiceLineTransactionUncheckedUpdateManyWithoutPaymentNestedInput>;
export const ServiceLineTransactionUncheckedUpdateManyWithoutPaymentNestedInputObjectZodSchema = makeSchema();
