import * as z from 'zod';
import type { Prisma } from '../../../generated/prisma';
import { PaymentCreateWithoutServiceLineTransactionsInputObjectSchema as PaymentCreateWithoutServiceLineTransactionsInputObjectSchema } from './PaymentCreateWithoutServiceLineTransactionsInput.schema';
import { PaymentUncheckedCreateWithoutServiceLineTransactionsInputObjectSchema as PaymentUncheckedCreateWithoutServiceLineTransactionsInputObjectSchema } from './PaymentUncheckedCreateWithoutServiceLineTransactionsInput.schema';
import { PaymentCreateOrConnectWithoutServiceLineTransactionsInputObjectSchema as PaymentCreateOrConnectWithoutServiceLineTransactionsInputObjectSchema } from './PaymentCreateOrConnectWithoutServiceLineTransactionsInput.schema';
import { PaymentUpsertWithoutServiceLineTransactionsInputObjectSchema as PaymentUpsertWithoutServiceLineTransactionsInputObjectSchema } from './PaymentUpsertWithoutServiceLineTransactionsInput.schema';
import { PaymentWhereUniqueInputObjectSchema as PaymentWhereUniqueInputObjectSchema } from './PaymentWhereUniqueInput.schema';
import { PaymentUpdateToOneWithWhereWithoutServiceLineTransactionsInputObjectSchema as PaymentUpdateToOneWithWhereWithoutServiceLineTransactionsInputObjectSchema } from './PaymentUpdateToOneWithWhereWithoutServiceLineTransactionsInput.schema';
import { PaymentUpdateWithoutServiceLineTransactionsInputObjectSchema as PaymentUpdateWithoutServiceLineTransactionsInputObjectSchema } from './PaymentUpdateWithoutServiceLineTransactionsInput.schema';
import { PaymentUncheckedUpdateWithoutServiceLineTransactionsInputObjectSchema as PaymentUncheckedUpdateWithoutServiceLineTransactionsInputObjectSchema } from './PaymentUncheckedUpdateWithoutServiceLineTransactionsInput.schema'

const makeSchema = () => z.object({
  create: z.union([z.lazy(() => PaymentCreateWithoutServiceLineTransactionsInputObjectSchema), z.lazy(() => PaymentUncheckedCreateWithoutServiceLineTransactionsInputObjectSchema)]).optional(),
  connectOrCreate: z.lazy(() => PaymentCreateOrConnectWithoutServiceLineTransactionsInputObjectSchema).optional(),
  upsert: z.lazy(() => PaymentUpsertWithoutServiceLineTransactionsInputObjectSchema).optional(),
  connect: z.lazy(() => PaymentWhereUniqueInputObjectSchema).optional(),
  update: z.union([z.lazy(() => PaymentUpdateToOneWithWhereWithoutServiceLineTransactionsInputObjectSchema), z.lazy(() => PaymentUpdateWithoutServiceLineTransactionsInputObjectSchema), z.lazy(() => PaymentUncheckedUpdateWithoutServiceLineTransactionsInputObjectSchema)]).optional()
}).strict();
export const PaymentUpdateOneRequiredWithoutServiceLineTransactionsNestedInputObjectSchema: z.ZodType<Prisma.PaymentUpdateOneRequiredWithoutServiceLineTransactionsNestedInput> = makeSchema() as unknown as z.ZodType<Prisma.PaymentUpdateOneRequiredWithoutServiceLineTransactionsNestedInput>;
export const PaymentUpdateOneRequiredWithoutServiceLineTransactionsNestedInputObjectZodSchema = makeSchema();
