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 { PaymentCreateManyUpdatedByInputEnvelopeObjectSchema as PaymentCreateManyUpdatedByInputEnvelopeObjectSchema } from './PaymentCreateManyUpdatedByInputEnvelope.schema';
import { PaymentWhereUniqueInputObjectSchema as PaymentWhereUniqueInputObjectSchema } from './PaymentWhereUniqueInput.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(),
  createMany: z.lazy(() => PaymentCreateManyUpdatedByInputEnvelopeObjectSchema).optional(),
  connect: z.union([z.lazy(() => PaymentWhereUniqueInputObjectSchema), z.lazy(() => PaymentWhereUniqueInputObjectSchema).array()]).optional()
}).strict();
export const PaymentCreateNestedManyWithoutUpdatedByInputObjectSchema: z.ZodType<Prisma.PaymentCreateNestedManyWithoutUpdatedByInput> = makeSchema() as unknown as z.ZodType<Prisma.PaymentCreateNestedManyWithoutUpdatedByInput>;
export const PaymentCreateNestedManyWithoutUpdatedByInputObjectZodSchema = makeSchema();
