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 { AppointmentProcedureUncheckedCreateNestedManyWithoutNpiProviderInputObjectSchema as AppointmentProcedureUncheckedCreateNestedManyWithoutNpiProviderInputObjectSchema } from './AppointmentProcedureUncheckedCreateNestedManyWithoutNpiProviderInput.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(),
  appointmentProcedures: z.lazy(() => AppointmentProcedureUncheckedCreateNestedManyWithoutNpiProviderInputObjectSchema).optional()
}).strict();
export const NpiProviderUncheckedCreateWithoutCommissionBatchesInputObjectSchema: z.ZodType<Prisma.NpiProviderUncheckedCreateWithoutCommissionBatchesInput> = makeSchema() as unknown as z.ZodType<Prisma.NpiProviderUncheckedCreateWithoutCommissionBatchesInput>;
export const NpiProviderUncheckedCreateWithoutCommissionBatchesInputObjectZodSchema = makeSchema();
