import * as z from 'zod';
import type { Prisma } from '../../../generated/prisma';
import { ClaimUncheckedCreateNestedManyWithoutNpiProviderInputObjectSchema as ClaimUncheckedCreateNestedManyWithoutNpiProviderInputObjectSchema } from './ClaimUncheckedCreateNestedManyWithoutNpiProviderInput.schema';
import { PaymentUncheckedCreateNestedManyWithoutNpiProviderInputObjectSchema as PaymentUncheckedCreateNestedManyWithoutNpiProviderInputObjectSchema } from './PaymentUncheckedCreateNestedManyWithoutNpiProviderInput.schema';
import { CommissionBatchUncheckedCreateNestedManyWithoutNpiProviderInputObjectSchema as CommissionBatchUncheckedCreateNestedManyWithoutNpiProviderInputObjectSchema } from './CommissionBatchUncheckedCreateNestedManyWithoutNpiProviderInput.schema'

const makeSchema = () => z.object({
  id: z.number().int().optional(),
  userId: z.number().int(),
  npiNumber: z.string(),
  providerName: z.string(),
  sortOrder: z.number().int().optional(),
  createdAt: z.coerce.date().optional(),
  claims: z.lazy(() => ClaimUncheckedCreateNestedManyWithoutNpiProviderInputObjectSchema).optional(),
  payments: z.lazy(() => PaymentUncheckedCreateNestedManyWithoutNpiProviderInputObjectSchema).optional(),
  commissionBatches: z.lazy(() => CommissionBatchUncheckedCreateNestedManyWithoutNpiProviderInputObjectSchema).optional()
}).strict();
export const NpiProviderUncheckedCreateWithoutAppointmentProceduresInputObjectSchema: z.ZodType<Prisma.NpiProviderUncheckedCreateWithoutAppointmentProceduresInput> = makeSchema() as unknown as z.ZodType<Prisma.NpiProviderUncheckedCreateWithoutAppointmentProceduresInput>;
export const NpiProviderUncheckedCreateWithoutAppointmentProceduresInputObjectZodSchema = makeSchema();
