import * as z from 'zod';
import type { Prisma } from '../../../generated/prisma';
import { PaymentCreateWithoutUpdatedByInputObjectSchema as PaymentCreateWithoutUpdatedByInputObjectSchema } from './PaymentCreateWithoutUpdatedByInput.schema';
import { PaymentUncheckedCreateWithoutUpdatedByInputObjectSchema as PaymentUncheckedCreateWithoutUpdatedByInputObjectSchema } from './PaymentUncheckedCreateWithoutUpdatedByInput.schema';
import { PaymentCreateOrConnectWithoutUpdatedByInputObjectSchema as PaymentCreateOrConnectWithoutUpdatedByInputObjectSchema } from './PaymentCreateOrConnectWithoutUpdatedByInput.schema';
import { PaymentUpsertWithWhereUniqueWithoutUpdatedByInputObjectSchema as PaymentUpsertWithWhereUniqueWithoutUpdatedByInputObjectSchema } from './PaymentUpsertWithWhereUniqueWithoutUpdatedByInput.schema';
import { PaymentCreateManyUpdatedByInputEnvelopeObjectSchema as PaymentCreateManyUpdatedByInputEnvelopeObjectSchema } from './PaymentCreateManyUpdatedByInputEnvelope.schema';
import { PaymentWhereUniqueInputObjectSchema as PaymentWhereUniqueInputObjectSchema } from './PaymentWhereUniqueInput.schema';
import { PaymentUpdateWithWhereUniqueWithoutUpdatedByInputObjectSchema as PaymentUpdateWithWhereUniqueWithoutUpdatedByInputObjectSchema } from './PaymentUpdateWithWhereUniqueWithoutUpdatedByInput.schema';
import { PaymentUpdateManyWithWhereWithoutUpdatedByInputObjectSchema as PaymentUpdateManyWithWhereWithoutUpdatedByInputObjectSchema } from './PaymentUpdateManyWithWhereWithoutUpdatedByInput.schema';
import { PaymentScalarWhereInputObjectSchema as PaymentScalarWhereInputObjectSchema } from './PaymentScalarWhereInput.schema'

const makeSchema = () => z.object({
  create: z.union([z.lazy(() => PaymentCreateWithoutUpdatedByInputObjectSchema), z.lazy(() => PaymentCreateWithoutUpdatedByInputObjectSchema).array(), z.lazy(() => PaymentUncheckedCreateWithoutUpdatedByInputObjectSchema), z.lazy(() => PaymentUncheckedCreateWithoutUpdatedByInputObjectSchema).array()]).optional(),
  connectOrCreate: z.union([z.lazy(() => PaymentCreateOrConnectWithoutUpdatedByInputObjectSchema), z.lazy(() => PaymentCreateOrConnectWithoutUpdatedByInputObjectSchema).array()]).optional(),
  upsert: z.union([z.lazy(() => PaymentUpsertWithWhereUniqueWithoutUpdatedByInputObjectSchema), z.lazy(() => PaymentUpsertWithWhereUniqueWithoutUpdatedByInputObjectSchema).array()]).optional(),
  createMany: z.lazy(() => PaymentCreateManyUpdatedByInputEnvelopeObjectSchema).optional(),
  set: z.union([z.lazy(() => PaymentWhereUniqueInputObjectSchema), z.lazy(() => PaymentWhereUniqueInputObjectSchema).array()]).optional(),
  disconnect: z.union([z.lazy(() => PaymentWhereUniqueInputObjectSchema), z.lazy(() => PaymentWhereUniqueInputObjectSchema).array()]).optional(),
  delete: z.union([z.lazy(() => PaymentWhereUniqueInputObjectSchema), z.lazy(() => PaymentWhereUniqueInputObjectSchema).array()]).optional(),
  connect: z.union([z.lazy(() => PaymentWhereUniqueInputObjectSchema), z.lazy(() => PaymentWhereUniqueInputObjectSchema).array()]).optional(),
  update: z.union([z.lazy(() => PaymentUpdateWithWhereUniqueWithoutUpdatedByInputObjectSchema), z.lazy(() => PaymentUpdateWithWhereUniqueWithoutUpdatedByInputObjectSchema).array()]).optional(),
  updateMany: z.union([z.lazy(() => PaymentUpdateManyWithWhereWithoutUpdatedByInputObjectSchema), z.lazy(() => PaymentUpdateManyWithWhereWithoutUpdatedByInputObjectSchema).array()]).optional(),
  deleteMany: z.union([z.lazy(() => PaymentScalarWhereInputObjectSchema), z.lazy(() => PaymentScalarWhereInputObjectSchema).array()]).optional()
}).strict();
export const PaymentUncheckedUpdateManyWithoutUpdatedByNestedInputObjectSchema: z.ZodType<Prisma.PaymentUncheckedUpdateManyWithoutUpdatedByNestedInput> = makeSchema() as unknown as z.ZodType<Prisma.PaymentUncheckedUpdateManyWithoutUpdatedByNestedInput>;
export const PaymentUncheckedUpdateManyWithoutUpdatedByNestedInputObjectZodSchema = makeSchema();
