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';
import { ClaimMinAggregateInputObjectSchema as ClaimMinAggregateInputObjectSchema } from './objects/ClaimMinAggregateInput.schema';
import { ClaimMaxAggregateInputObjectSchema as ClaimMaxAggregateInputObjectSchema } from './objects/ClaimMaxAggregateInput.schema';
import { ClaimAvgAggregateInputObjectSchema as ClaimAvgAggregateInputObjectSchema } from './objects/ClaimAvgAggregateInput.schema';
import { ClaimSumAggregateInputObjectSchema as ClaimSumAggregateInputObjectSchema } from './objects/ClaimSumAggregateInput.schema';

export const ClaimAggregateSchema: z.ZodType<Prisma.ClaimAggregateArgs> = z.object({ orderBy: z.union([ClaimOrderByWithRelationInputObjectSchema, ClaimOrderByWithRelationInputObjectSchema.array()]).optional(), where: ClaimWhereInputObjectSchema.optional(), cursor: ClaimWhereUniqueInputObjectSchema.optional(), take: z.number().optional(), skip: z.number().optional(), _count: z.union([ z.literal(true), ClaimCountAggregateInputObjectSchema ]).optional(), _min: ClaimMinAggregateInputObjectSchema.optional(), _max: ClaimMaxAggregateInputObjectSchema.optional(), _avg: ClaimAvgAggregateInputObjectSchema.optional(), _sum: ClaimSumAggregateInputObjectSchema.optional() }).strict() as unknown as z.ZodType<Prisma.ClaimAggregateArgs>;

export const ClaimAggregateZodSchema = z.object({ orderBy: z.union([ClaimOrderByWithRelationInputObjectSchema, ClaimOrderByWithRelationInputObjectSchema.array()]).optional(), where: ClaimWhereInputObjectSchema.optional(), cursor: ClaimWhereUniqueInputObjectSchema.optional(), take: z.number().optional(), skip: z.number().optional(), _count: z.union([ z.literal(true), ClaimCountAggregateInputObjectSchema ]).optional(), _min: ClaimMinAggregateInputObjectSchema.optional(), _max: ClaimMaxAggregateInputObjectSchema.optional(), _avg: ClaimAvgAggregateInputObjectSchema.optional(), _sum: ClaimSumAggregateInputObjectSchema.optional() }).strict();