import * as z from 'zod';
import type { Prisma } from '../../../generated/prisma';
import { UserCreateWithoutCommunicationsInputObjectSchema as UserCreateWithoutCommunicationsInputObjectSchema } from './UserCreateWithoutCommunicationsInput.schema';
import { UserUncheckedCreateWithoutCommunicationsInputObjectSchema as UserUncheckedCreateWithoutCommunicationsInputObjectSchema } from './UserUncheckedCreateWithoutCommunicationsInput.schema';
import { UserCreateOrConnectWithoutCommunicationsInputObjectSchema as UserCreateOrConnectWithoutCommunicationsInputObjectSchema } from './UserCreateOrConnectWithoutCommunicationsInput.schema';
import { UserUpsertWithoutCommunicationsInputObjectSchema as UserUpsertWithoutCommunicationsInputObjectSchema } from './UserUpsertWithoutCommunicationsInput.schema';
import { UserWhereInputObjectSchema as UserWhereInputObjectSchema } from './UserWhereInput.schema';
import { UserWhereUniqueInputObjectSchema as UserWhereUniqueInputObjectSchema } from './UserWhereUniqueInput.schema';
import { UserUpdateToOneWithWhereWithoutCommunicationsInputObjectSchema as UserUpdateToOneWithWhereWithoutCommunicationsInputObjectSchema } from './UserUpdateToOneWithWhereWithoutCommunicationsInput.schema';
import { UserUpdateWithoutCommunicationsInputObjectSchema as UserUpdateWithoutCommunicationsInputObjectSchema } from './UserUpdateWithoutCommunicationsInput.schema';
import { UserUncheckedUpdateWithoutCommunicationsInputObjectSchema as UserUncheckedUpdateWithoutCommunicationsInputObjectSchema } from './UserUncheckedUpdateWithoutCommunicationsInput.schema'

const makeSchema = () => z.object({
  create: z.union([z.lazy(() => UserCreateWithoutCommunicationsInputObjectSchema), z.lazy(() => UserUncheckedCreateWithoutCommunicationsInputObjectSchema)]).optional(),
  connectOrCreate: z.lazy(() => UserCreateOrConnectWithoutCommunicationsInputObjectSchema).optional(),
  upsert: z.lazy(() => UserUpsertWithoutCommunicationsInputObjectSchema).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(() => UserUpdateToOneWithWhereWithoutCommunicationsInputObjectSchema), z.lazy(() => UserUpdateWithoutCommunicationsInputObjectSchema), z.lazy(() => UserUncheckedUpdateWithoutCommunicationsInputObjectSchema)]).optional()
}).strict();
export const UserUpdateOneWithoutCommunicationsNestedInputObjectSchema: z.ZodType<Prisma.UserUpdateOneWithoutCommunicationsNestedInput> = makeSchema() as unknown as z.ZodType<Prisma.UserUpdateOneWithoutCommunicationsNestedInput>;
export const UserUpdateOneWithoutCommunicationsNestedInputObjectZodSchema = makeSchema();
