import type { Prisma } from '../../generated/prisma';
import * as z from 'zod';
import { ClaimOrderByWithRelationInputObjectSchema as ClaimOrderByWithRelationInputObjectSchema } from './objects/ClaimOrderByWithRelationInput.schema';
import { ClaimWhereInputObjectSchema as ClaimWhereInputObjectSchema } from './objects/ClaimWhereInput.schema';
import { ClaimWhereUniqueInputObjectSchema as ClaimWhereUniqueInputObjectSchema } from './objects/ClaimWhereUniqueInput.schema';
import { ClaimCountAggregateInputObjectSchema as ClaimCountAggregateInputObjectSchema } from './objects/ClaimCountAggregateInput.schema';

export const ClaimCountSchema: z.ZodType<Prisma.ClaimCountArgs> = z.object({ orderBy: z.union([ClaimOrderByWithRelationInputObjectSchema, ClaimOrderByWithRelationInputObjectSchema.array()]).optional(), where: ClaimWhereInputObjectSchema.optional(), cursor: ClaimWhereUniqueInputObjectSchema.optional(), take: z.number().optional(), skip: z.number().optional(), select: z.union([ z.literal(true), ClaimCountAggregateInputObjectSchema ]).optional() }).strict() as unknown as z.ZodType<Prisma.ClaimCountArgs>;

export const ClaimCountZodSchema = z.object({ orderBy: z.union([ClaimOrderByWithRelationInputObjectSchema, ClaimOrderByWithRelationInputObjectSchema.array()]).optional(), where: ClaimWhereInputObjectSchema.optional(), cursor: ClaimWhereUniqueInputObjectSchema.optional(), take: z.number().optional(), skip: z.number().optional(), select: z.union([ z.literal(true), ClaimCountAggregateInputObjectSchema ]).optional() }).strict();