import * as z from 'zod';
import type { Prisma } from '../../../generated/prisma';
import { ClaimArgsObjectSchema as ClaimArgsObjectSchema } from './ClaimArgs.schema';
import { PaymentArgsObjectSchema as PaymentArgsObjectSchema } from './PaymentArgs.schema';
import { ServiceLineTransactionFindManySchema as ServiceLineTransactionFindManySchema } from '../findManyServiceLineTransaction.schema';
import { ServiceLineCountOutputTypeArgsObjectSchema as ServiceLineCountOutputTypeArgsObjectSchema } from './ServiceLineCountOutputTypeArgs.schema'

const makeSchema = () => z.object({
  claim: z.union([z.boolean(), z.lazy(() => ClaimArgsObjectSchema)]).optional(),
  payment: z.union([z.boolean(), z.lazy(() => PaymentArgsObjectSchema)]).optional(),
  serviceLineTransactions: z.union([z.boolean(), z.lazy(() => ServiceLineTransactionFindManySchema)]).optional(),
  _count: z.union([z.boolean(), z.lazy(() => ServiceLineCountOutputTypeArgsObjectSchema)]).optional()
}).strict();
export const ServiceLineIncludeObjectSchema: z.ZodType<Prisma.ServiceLineInclude> = makeSchema() as unknown as z.ZodType<Prisma.ServiceLineInclude>;
export const ServiceLineIncludeObjectZodSchema = makeSchema();
