import * as z from 'zod';
import type { Prisma } from '../../../generated/prisma';
import { UserArgsObjectSchema as UserArgsObjectSchema } from './UserArgs.schema';
import { AppointmentFindManySchema as AppointmentFindManySchema } from '../findManyAppointment.schema';
import { ClaimFindManySchema as ClaimFindManySchema } from '../findManyClaim.schema';
import { StaffCountOutputTypeArgsObjectSchema as StaffCountOutputTypeArgsObjectSchema } from './StaffCountOutputTypeArgs.schema'

const makeSchema = () => z.object({
  user: z.union([z.boolean(), z.lazy(() => UserArgsObjectSchema)]).optional(),
  appointments: z.union([z.boolean(), z.lazy(() => AppointmentFindManySchema)]).optional(),
  claims: z.union([z.boolean(), z.lazy(() => ClaimFindManySchema)]).optional(),
  _count: z.union([z.boolean(), z.lazy(() => StaffCountOutputTypeArgsObjectSchema)]).optional()
}).strict();
export const StaffIncludeObjectSchema: z.ZodType<Prisma.StaffInclude> = makeSchema() as unknown as z.ZodType<Prisma.StaffInclude>;
export const StaffIncludeObjectZodSchema = makeSchema();
