import * as z from 'zod';
import type { Prisma } from '../../../generated/prisma';
import { ProcedureTimeslotCreateWithoutUserInputObjectSchema as ProcedureTimeslotCreateWithoutUserInputObjectSchema } from './ProcedureTimeslotCreateWithoutUserInput.schema';
import { ProcedureTimeslotUncheckedCreateWithoutUserInputObjectSchema as ProcedureTimeslotUncheckedCreateWithoutUserInputObjectSchema } from './ProcedureTimeslotUncheckedCreateWithoutUserInput.schema';
import { ProcedureTimeslotCreateOrConnectWithoutUserInputObjectSchema as ProcedureTimeslotCreateOrConnectWithoutUserInputObjectSchema } from './ProcedureTimeslotCreateOrConnectWithoutUserInput.schema';
import { ProcedureTimeslotUpsertWithoutUserInputObjectSchema as ProcedureTimeslotUpsertWithoutUserInputObjectSchema } from './ProcedureTimeslotUpsertWithoutUserInput.schema';
import { ProcedureTimeslotWhereInputObjectSchema as ProcedureTimeslotWhereInputObjectSchema } from './ProcedureTimeslotWhereInput.schema';
import { ProcedureTimeslotWhereUniqueInputObjectSchema as ProcedureTimeslotWhereUniqueInputObjectSchema } from './ProcedureTimeslotWhereUniqueInput.schema';
import { ProcedureTimeslotUpdateToOneWithWhereWithoutUserInputObjectSchema as ProcedureTimeslotUpdateToOneWithWhereWithoutUserInputObjectSchema } from './ProcedureTimeslotUpdateToOneWithWhereWithoutUserInput.schema';
import { ProcedureTimeslotUpdateWithoutUserInputObjectSchema as ProcedureTimeslotUpdateWithoutUserInputObjectSchema } from './ProcedureTimeslotUpdateWithoutUserInput.schema';
import { ProcedureTimeslotUncheckedUpdateWithoutUserInputObjectSchema as ProcedureTimeslotUncheckedUpdateWithoutUserInputObjectSchema } from './ProcedureTimeslotUncheckedUpdateWithoutUserInput.schema'

const makeSchema = () => z.object({
  create: z.union([z.lazy(() => ProcedureTimeslotCreateWithoutUserInputObjectSchema), z.lazy(() => ProcedureTimeslotUncheckedCreateWithoutUserInputObjectSchema)]).optional(),
  connectOrCreate: z.lazy(() => ProcedureTimeslotCreateOrConnectWithoutUserInputObjectSchema).optional(),
  upsert: z.lazy(() => ProcedureTimeslotUpsertWithoutUserInputObjectSchema).optional(),
  disconnect: z.union([z.boolean(), z.lazy(() => ProcedureTimeslotWhereInputObjectSchema)]).optional(),
  delete: z.union([z.boolean(), z.lazy(() => ProcedureTimeslotWhereInputObjectSchema)]).optional(),
  connect: z.lazy(() => ProcedureTimeslotWhereUniqueInputObjectSchema).optional(),
  update: z.union([z.lazy(() => ProcedureTimeslotUpdateToOneWithWhereWithoutUserInputObjectSchema), z.lazy(() => ProcedureTimeslotUpdateWithoutUserInputObjectSchema), z.lazy(() => ProcedureTimeslotUncheckedUpdateWithoutUserInputObjectSchema)]).optional()
}).strict();
export const ProcedureTimeslotUncheckedUpdateOneWithoutUserNestedInputObjectSchema: z.ZodType<Prisma.ProcedureTimeslotUncheckedUpdateOneWithoutUserNestedInput> = makeSchema() as unknown as z.ZodType<Prisma.ProcedureTimeslotUncheckedUpdateOneWithoutUserNestedInput>;
export const ProcedureTimeslotUncheckedUpdateOneWithoutUserNestedInputObjectZodSchema = makeSchema();
