import type { Prisma } from '../../generated/prisma';
import * as z from 'zod';
import { ProcedureTimeslotSelectObjectSchema as ProcedureTimeslotSelectObjectSchema } from './objects/ProcedureTimeslotSelect.schema';
import { ProcedureTimeslotIncludeObjectSchema as ProcedureTimeslotIncludeObjectSchema } from './objects/ProcedureTimeslotInclude.schema';
import { ProcedureTimeslotWhereUniqueInputObjectSchema as ProcedureTimeslotWhereUniqueInputObjectSchema } from './objects/ProcedureTimeslotWhereUniqueInput.schema';
import { ProcedureTimeslotCreateInputObjectSchema as ProcedureTimeslotCreateInputObjectSchema } from './objects/ProcedureTimeslotCreateInput.schema';
import { ProcedureTimeslotUncheckedCreateInputObjectSchema as ProcedureTimeslotUncheckedCreateInputObjectSchema } from './objects/ProcedureTimeslotUncheckedCreateInput.schema';
import { ProcedureTimeslotUpdateInputObjectSchema as ProcedureTimeslotUpdateInputObjectSchema } from './objects/ProcedureTimeslotUpdateInput.schema';
import { ProcedureTimeslotUncheckedUpdateInputObjectSchema as ProcedureTimeslotUncheckedUpdateInputObjectSchema } from './objects/ProcedureTimeslotUncheckedUpdateInput.schema';

export const ProcedureTimeslotUpsertOneSchema: z.ZodType<Prisma.ProcedureTimeslotUpsertArgs> = z.object({ select: ProcedureTimeslotSelectObjectSchema.optional(), include: ProcedureTimeslotIncludeObjectSchema.optional(), where: ProcedureTimeslotWhereUniqueInputObjectSchema, create: z.union([ ProcedureTimeslotCreateInputObjectSchema, ProcedureTimeslotUncheckedCreateInputObjectSchema ]), update: z.union([ ProcedureTimeslotUpdateInputObjectSchema, ProcedureTimeslotUncheckedUpdateInputObjectSchema ]) }).strict() as unknown as z.ZodType<Prisma.ProcedureTimeslotUpsertArgs>;

export const ProcedureTimeslotUpsertOneZodSchema = z.object({ select: ProcedureTimeslotSelectObjectSchema.optional(), include: ProcedureTimeslotIncludeObjectSchema.optional(), where: ProcedureTimeslotWhereUniqueInputObjectSchema, create: z.union([ ProcedureTimeslotCreateInputObjectSchema, ProcedureTimeslotUncheckedCreateInputObjectSchema ]), update: z.union([ ProcedureTimeslotUpdateInputObjectSchema, ProcedureTimeslotUncheckedUpdateInputObjectSchema ]) }).strict();