import * as z from 'zod';
import type { Prisma } from '../../../generated/prisma';
import { OfficeContactCreateWithoutUserInputObjectSchema as OfficeContactCreateWithoutUserInputObjectSchema } from './OfficeContactCreateWithoutUserInput.schema';
import { OfficeContactUncheckedCreateWithoutUserInputObjectSchema as OfficeContactUncheckedCreateWithoutUserInputObjectSchema } from './OfficeContactUncheckedCreateWithoutUserInput.schema';
import { OfficeContactCreateOrConnectWithoutUserInputObjectSchema as OfficeContactCreateOrConnectWithoutUserInputObjectSchema } from './OfficeContactCreateOrConnectWithoutUserInput.schema';
import { OfficeContactUpsertWithoutUserInputObjectSchema as OfficeContactUpsertWithoutUserInputObjectSchema } from './OfficeContactUpsertWithoutUserInput.schema';
import { OfficeContactWhereInputObjectSchema as OfficeContactWhereInputObjectSchema } from './OfficeContactWhereInput.schema';
import { OfficeContactWhereUniqueInputObjectSchema as OfficeContactWhereUniqueInputObjectSchema } from './OfficeContactWhereUniqueInput.schema';
import { OfficeContactUpdateToOneWithWhereWithoutUserInputObjectSchema as OfficeContactUpdateToOneWithWhereWithoutUserInputObjectSchema } from './OfficeContactUpdateToOneWithWhereWithoutUserInput.schema';
import { OfficeContactUpdateWithoutUserInputObjectSchema as OfficeContactUpdateWithoutUserInputObjectSchema } from './OfficeContactUpdateWithoutUserInput.schema';
import { OfficeContactUncheckedUpdateWithoutUserInputObjectSchema as OfficeContactUncheckedUpdateWithoutUserInputObjectSchema } from './OfficeContactUncheckedUpdateWithoutUserInput.schema'

const makeSchema = () => z.object({
  create: z.union([z.lazy(() => OfficeContactCreateWithoutUserInputObjectSchema), z.lazy(() => OfficeContactUncheckedCreateWithoutUserInputObjectSchema)]).optional(),
  connectOrCreate: z.lazy(() => OfficeContactCreateOrConnectWithoutUserInputObjectSchema).optional(),
  upsert: z.lazy(() => OfficeContactUpsertWithoutUserInputObjectSchema).optional(),
  disconnect: z.union([z.boolean(), z.lazy(() => OfficeContactWhereInputObjectSchema)]).optional(),
  delete: z.union([z.boolean(), z.lazy(() => OfficeContactWhereInputObjectSchema)]).optional(),
  connect: z.lazy(() => OfficeContactWhereUniqueInputObjectSchema).optional(),
  update: z.union([z.lazy(() => OfficeContactUpdateToOneWithWhereWithoutUserInputObjectSchema), z.lazy(() => OfficeContactUpdateWithoutUserInputObjectSchema), z.lazy(() => OfficeContactUncheckedUpdateWithoutUserInputObjectSchema)]).optional()
}).strict();
export const OfficeContactUpdateOneWithoutUserNestedInputObjectSchema: z.ZodType<Prisma.OfficeContactUpdateOneWithoutUserNestedInput> = makeSchema() as unknown as z.ZodType<Prisma.OfficeContactUpdateOneWithoutUserNestedInput>;
export const OfficeContactUpdateOneWithoutUserNestedInputObjectZodSchema = makeSchema();
