import type { Prisma } from '../../generated/prisma';
import * as z from 'zod';
import { PatientDocumentOrderByWithRelationInputObjectSchema as PatientDocumentOrderByWithRelationInputObjectSchema } from './objects/PatientDocumentOrderByWithRelationInput.schema';
import { PatientDocumentWhereInputObjectSchema as PatientDocumentWhereInputObjectSchema } from './objects/PatientDocumentWhereInput.schema';
import { PatientDocumentWhereUniqueInputObjectSchema as PatientDocumentWhereUniqueInputObjectSchema } from './objects/PatientDocumentWhereUniqueInput.schema';
import { PatientDocumentCountAggregateInputObjectSchema as PatientDocumentCountAggregateInputObjectSchema } from './objects/PatientDocumentCountAggregateInput.schema';
import { PatientDocumentMinAggregateInputObjectSchema as PatientDocumentMinAggregateInputObjectSchema } from './objects/PatientDocumentMinAggregateInput.schema';
import { PatientDocumentMaxAggregateInputObjectSchema as PatientDocumentMaxAggregateInputObjectSchema } from './objects/PatientDocumentMaxAggregateInput.schema';
import { PatientDocumentAvgAggregateInputObjectSchema as PatientDocumentAvgAggregateInputObjectSchema } from './objects/PatientDocumentAvgAggregateInput.schema';
import { PatientDocumentSumAggregateInputObjectSchema as PatientDocumentSumAggregateInputObjectSchema } from './objects/PatientDocumentSumAggregateInput.schema';

export const PatientDocumentAggregateSchema: z.ZodType<Prisma.PatientDocumentAggregateArgs> = z.object({ orderBy: z.union([PatientDocumentOrderByWithRelationInputObjectSchema, PatientDocumentOrderByWithRelationInputObjectSchema.array()]).optional(), where: PatientDocumentWhereInputObjectSchema.optional(), cursor: PatientDocumentWhereUniqueInputObjectSchema.optional(), take: z.number().optional(), skip: z.number().optional(), _count: z.union([ z.literal(true), PatientDocumentCountAggregateInputObjectSchema ]).optional(), _min: PatientDocumentMinAggregateInputObjectSchema.optional(), _max: PatientDocumentMaxAggregateInputObjectSchema.optional(), _avg: PatientDocumentAvgAggregateInputObjectSchema.optional(), _sum: PatientDocumentSumAggregateInputObjectSchema.optional() }).strict() as unknown as z.ZodType<Prisma.PatientDocumentAggregateArgs>;

export const PatientDocumentAggregateZodSchema = z.object({ orderBy: z.union([PatientDocumentOrderByWithRelationInputObjectSchema, PatientDocumentOrderByWithRelationInputObjectSchema.array()]).optional(), where: PatientDocumentWhereInputObjectSchema.optional(), cursor: PatientDocumentWhereUniqueInputObjectSchema.optional(), take: z.number().optional(), skip: z.number().optional(), _count: z.union([ z.literal(true), PatientDocumentCountAggregateInputObjectSchema ]).optional(), _min: PatientDocumentMinAggregateInputObjectSchema.optional(), _max: PatientDocumentMaxAggregateInputObjectSchema.optional(), _avg: PatientDocumentAvgAggregateInputObjectSchema.optional(), _sum: PatientDocumentSumAggregateInputObjectSchema.optional() }).strict();