import * as z from 'zod';
import type { Prisma } from '../../../generated/prisma';
import { SortOrderSchema } from '../enums/SortOrder.schema';
import { SortOrderInputObjectSchema as SortOrderInputObjectSchema } from './SortOrderInput.schema';
import { NpiProviderOrderByWithRelationInputObjectSchema as NpiProviderOrderByWithRelationInputObjectSchema } from './NpiProviderOrderByWithRelationInput.schema';
import { CommissionBatchItemOrderByRelationAggregateInputObjectSchema as CommissionBatchItemOrderByRelationAggregateInputObjectSchema } from './CommissionBatchItemOrderByRelationAggregateInput.schema'

const makeSchema = () => z.object({
  id: SortOrderSchema.optional(),
  npiProviderId: SortOrderSchema.optional(),
  totalCollection: SortOrderSchema.optional(),
  commissionAmount: SortOrderSchema.optional(),
  notes: z.union([SortOrderSchema, z.lazy(() => SortOrderInputObjectSchema)]).optional(),
  createdAt: SortOrderSchema.optional(),
  npiProvider: z.lazy(() => NpiProviderOrderByWithRelationInputObjectSchema).optional(),
  items: z.lazy(() => CommissionBatchItemOrderByRelationAggregateInputObjectSchema).optional()
}).strict();
export const CommissionBatchOrderByWithRelationInputObjectSchema: z.ZodType<Prisma.CommissionBatchOrderByWithRelationInput> = makeSchema() as unknown as z.ZodType<Prisma.CommissionBatchOrderByWithRelationInput>;
export const CommissionBatchOrderByWithRelationInputObjectZodSchema = makeSchema();
