import * as z from 'zod';
import type { Prisma } from '../../../generated/prisma';
import { StaffCreateWithoutAppointmentsInputObjectSchema as StaffCreateWithoutAppointmentsInputObjectSchema } from './StaffCreateWithoutAppointmentsInput.schema';
import { StaffUncheckedCreateWithoutAppointmentsInputObjectSchema as StaffUncheckedCreateWithoutAppointmentsInputObjectSchema } from './StaffUncheckedCreateWithoutAppointmentsInput.schema';
import { StaffCreateOrConnectWithoutAppointmentsInputObjectSchema as StaffCreateOrConnectWithoutAppointmentsInputObjectSchema } from './StaffCreateOrConnectWithoutAppointmentsInput.schema';
import { StaffUpsertWithoutAppointmentsInputObjectSchema as StaffUpsertWithoutAppointmentsInputObjectSchema } from './StaffUpsertWithoutAppointmentsInput.schema';
import { StaffWhereInputObjectSchema as StaffWhereInputObjectSchema } from './StaffWhereInput.schema';
import { StaffWhereUniqueInputObjectSchema as StaffWhereUniqueInputObjectSchema } from './StaffWhereUniqueInput.schema';
import { StaffUpdateToOneWithWhereWithoutAppointmentsInputObjectSchema as StaffUpdateToOneWithWhereWithoutAppointmentsInputObjectSchema } from './StaffUpdateToOneWithWhereWithoutAppointmentsInput.schema';
import { StaffUpdateWithoutAppointmentsInputObjectSchema as StaffUpdateWithoutAppointmentsInputObjectSchema } from './StaffUpdateWithoutAppointmentsInput.schema';
import { StaffUncheckedUpdateWithoutAppointmentsInputObjectSchema as StaffUncheckedUpdateWithoutAppointmentsInputObjectSchema } from './StaffUncheckedUpdateWithoutAppointmentsInput.schema'

const makeSchema = () => z.object({
  create: z.union([z.lazy(() => StaffCreateWithoutAppointmentsInputObjectSchema), z.lazy(() => StaffUncheckedCreateWithoutAppointmentsInputObjectSchema)]).optional(),
  connectOrCreate: z.lazy(() => StaffCreateOrConnectWithoutAppointmentsInputObjectSchema).optional(),
  upsert: z.lazy(() => StaffUpsertWithoutAppointmentsInputObjectSchema).optional(),
  disconnect: z.union([z.boolean(), z.lazy(() => StaffWhereInputObjectSchema)]).optional(),
  delete: z.union([z.boolean(), z.lazy(() => StaffWhereInputObjectSchema)]).optional(),
  connect: z.lazy(() => StaffWhereUniqueInputObjectSchema).optional(),
  update: z.union([z.lazy(() => StaffUpdateToOneWithWhereWithoutAppointmentsInputObjectSchema), z.lazy(() => StaffUpdateWithoutAppointmentsInputObjectSchema), z.lazy(() => StaffUncheckedUpdateWithoutAppointmentsInputObjectSchema)]).optional()
}).strict();
export const StaffUpdateOneWithoutAppointmentsNestedInputObjectSchema: z.ZodType<Prisma.StaffUpdateOneWithoutAppointmentsNestedInput> = makeSchema() as unknown as z.ZodType<Prisma.StaffUpdateOneWithoutAppointmentsNestedInput>;
export const StaffUpdateOneWithoutAppointmentsNestedInputObjectZodSchema = makeSchema();
