import * as z from 'zod';
import type { Prisma } from '../../../generated/prisma';
import { SortOrderSchema } from '../enums/SortOrder.schema';
import { NpiProviderCountOrderByAggregateInputObjectSchema as NpiProviderCountOrderByAggregateInputObjectSchema } from './NpiProviderCountOrderByAggregateInput.schema';
import { NpiProviderAvgOrderByAggregateInputObjectSchema as NpiProviderAvgOrderByAggregateInputObjectSchema } from './NpiProviderAvgOrderByAggregateInput.schema';
import { NpiProviderMaxOrderByAggregateInputObjectSchema as NpiProviderMaxOrderByAggregateInputObjectSchema } from './NpiProviderMaxOrderByAggregateInput.schema';
import { NpiProviderMinOrderByAggregateInputObjectSchema as NpiProviderMinOrderByAggregateInputObjectSchema } from './NpiProviderMinOrderByAggregateInput.schema';
import { NpiProviderSumOrderByAggregateInputObjectSchema as NpiProviderSumOrderByAggregateInputObjectSchema } from './NpiProviderSumOrderByAggregateInput.schema'

const makeSchema = () => z.object({
  id: SortOrderSchema.optional(),
  userId: SortOrderSchema.optional(),
  npiNumber: SortOrderSchema.optional(),
  providerName: SortOrderSchema.optional(),
  sortOrder: SortOrderSchema.optional(),
  createdAt: SortOrderSchema.optional(),
  _count: z.lazy(() => NpiProviderCountOrderByAggregateInputObjectSchema).optional(),
  _avg: z.lazy(() => NpiProviderAvgOrderByAggregateInputObjectSchema).optional(),
  _max: z.lazy(() => NpiProviderMaxOrderByAggregateInputObjectSchema).optional(),
  _min: z.lazy(() => NpiProviderMinOrderByAggregateInputObjectSchema).optional(),
  _sum: z.lazy(() => NpiProviderSumOrderByAggregateInputObjectSchema).optional()
}).strict();
export const NpiProviderOrderByWithAggregationInputObjectSchema: z.ZodType<Prisma.NpiProviderOrderByWithAggregationInput> = makeSchema() as unknown as z.ZodType<Prisma.NpiProviderOrderByWithAggregationInput>;
export const NpiProviderOrderByWithAggregationInputObjectZodSchema = makeSchema();
