import * as z from 'zod';
import type { Prisma } from '../../../generated/prisma';
import { UserCreateWithoutUpdatedPaymentsInputObjectSchema as UserCreateWithoutUpdatedPaymentsInputObjectSchema } from './UserCreateWithoutUpdatedPaymentsInput.schema';
import { UserUncheckedCreateWithoutUpdatedPaymentsInputObjectSchema as UserUncheckedCreateWithoutUpdatedPaymentsInputObjectSchema } from './UserUncheckedCreateWithoutUpdatedPaymentsInput.schema';
import { UserCreateOrConnectWithoutUpdatedPaymentsInputObjectSchema as UserCreateOrConnectWithoutUpdatedPaymentsInputObjectSchema } from './UserCreateOrConnectWithoutUpdatedPaymentsInput.schema';
import { UserUpsertWithoutUpdatedPaymentsInputObjectSchema as UserUpsertWithoutUpdatedPaymentsInputObjectSchema } from './UserUpsertWithoutUpdatedPaymentsInput.schema';
import { UserWhereInputObjectSchema as UserWhereInputObjectSchema } from './UserWhereInput.schema';
import { UserWhereUniqueInputObjectSchema as UserWhereUniqueInputObjectSchema } from './UserWhereUniqueInput.schema';
import { UserUpdateToOneWithWhereWithoutUpdatedPaymentsInputObjectSchema as UserUpdateToOneWithWhereWithoutUpdatedPaymentsInputObjectSchema } from './UserUpdateToOneWithWhereWithoutUpdatedPaymentsInput.schema';
import { UserUpdateWithoutUpdatedPaymentsInputObjectSchema as UserUpdateWithoutUpdatedPaymentsInputObjectSchema } from './UserUpdateWithoutUpdatedPaymentsInput.schema';
import { UserUncheckedUpdateWithoutUpdatedPaymentsInputObjectSchema as UserUncheckedUpdateWithoutUpdatedPaymentsInputObjectSchema } from './UserUncheckedUpdateWithoutUpdatedPaymentsInput.schema'

const makeSchema = () => z.object({
  create: z.union([z.lazy(() => UserCreateWithoutUpdatedPaymentsInputObjectSchema), z.lazy(() => UserUncheckedCreateWithoutUpdatedPaymentsInputObjectSchema)]).optional(),
  connectOrCreate: z.lazy(() => UserCreateOrConnectWithoutUpdatedPaymentsInputObjectSchema).optional(),
  upsert: z.lazy(() => UserUpsertWithoutUpdatedPaymentsInputObjectSchema).optional(),
  disconnect: z.union([z.boolean(), z.lazy(() => UserWhereInputObjectSchema)]).optional(),
  delete: z.union([z.boolean(), z.lazy(() => UserWhereInputObjectSchema)]).optional(),
  connect: z.lazy(() => UserWhereUniqueInputObjectSchema).optional(),
  update: z.union([z.lazy(() => UserUpdateToOneWithWhereWithoutUpdatedPaymentsInputObjectSchema), z.lazy(() => UserUpdateWithoutUpdatedPaymentsInputObjectSchema), z.lazy(() => UserUncheckedUpdateWithoutUpdatedPaymentsInputObjectSchema)]).optional()
}).strict();
export const UserUpdateOneWithoutUpdatedPaymentsNestedInputObjectSchema: z.ZodType<Prisma.UserUpdateOneWithoutUpdatedPaymentsNestedInput> = makeSchema() as unknown as z.ZodType<Prisma.UserUpdateOneWithoutUpdatedPaymentsNestedInput>;
export const UserUpdateOneWithoutUpdatedPaymentsNestedInputObjectZodSchema = makeSchema();
