import * as z from 'zod';
import type { Prisma } from '../../../generated/prisma';
import { IntFieldUpdateOperationsInputObjectSchema as IntFieldUpdateOperationsInputObjectSchema } from './IntFieldUpdateOperationsInput.schema';
import { StringFieldUpdateOperationsInputObjectSchema as StringFieldUpdateOperationsInputObjectSchema } from './StringFieldUpdateOperationsInput.schema';
import { DateTimeFieldUpdateOperationsInputObjectSchema as DateTimeFieldUpdateOperationsInputObjectSchema } from './DateTimeFieldUpdateOperationsInput.schema';
import { ClaimUncheckedUpdateManyWithoutNpiProviderNestedInputObjectSchema as ClaimUncheckedUpdateManyWithoutNpiProviderNestedInputObjectSchema } from './ClaimUncheckedUpdateManyWithoutNpiProviderNestedInput.schema';
import { PaymentUncheckedUpdateManyWithoutNpiProviderNestedInputObjectSchema as PaymentUncheckedUpdateManyWithoutNpiProviderNestedInputObjectSchema } from './PaymentUncheckedUpdateManyWithoutNpiProviderNestedInput.schema';
import { CommissionBatchUncheckedUpdateManyWithoutNpiProviderNestedInputObjectSchema as CommissionBatchUncheckedUpdateManyWithoutNpiProviderNestedInputObjectSchema } from './CommissionBatchUncheckedUpdateManyWithoutNpiProviderNestedInput.schema';
import { AppointmentProcedureUncheckedUpdateManyWithoutNpiProviderNestedInputObjectSchema as AppointmentProcedureUncheckedUpdateManyWithoutNpiProviderNestedInputObjectSchema } from './AppointmentProcedureUncheckedUpdateManyWithoutNpiProviderNestedInput.schema'

const makeSchema = () => z.object({
  id: z.union([z.number().int(), z.lazy(() => IntFieldUpdateOperationsInputObjectSchema)]).optional(),
  npiNumber: z.union([z.string(), z.lazy(() => StringFieldUpdateOperationsInputObjectSchema)]).optional(),
  providerName: z.union([z.string(), z.lazy(() => StringFieldUpdateOperationsInputObjectSchema)]).optional(),
  sortOrder: z.union([z.number().int(), z.lazy(() => IntFieldUpdateOperationsInputObjectSchema)]).optional(),
  createdAt: z.union([z.coerce.date(), z.lazy(() => DateTimeFieldUpdateOperationsInputObjectSchema)]).optional(),
  claims: z.lazy(() => ClaimUncheckedUpdateManyWithoutNpiProviderNestedInputObjectSchema).optional(),
  payments: z.lazy(() => PaymentUncheckedUpdateManyWithoutNpiProviderNestedInputObjectSchema).optional(),
  commissionBatches: z.lazy(() => CommissionBatchUncheckedUpdateManyWithoutNpiProviderNestedInputObjectSchema).optional(),
  appointmentProcedures: z.lazy(() => AppointmentProcedureUncheckedUpdateManyWithoutNpiProviderNestedInputObjectSchema).optional()
}).strict();
export const NpiProviderUncheckedUpdateWithoutUserInputObjectSchema: z.ZodType<Prisma.NpiProviderUncheckedUpdateWithoutUserInput> = makeSchema() as unknown as z.ZodType<Prisma.NpiProviderUncheckedUpdateWithoutUserInput>;
export const NpiProviderUncheckedUpdateWithoutUserInputObjectZodSchema = makeSchema();
