import * as z from 'zod';
export const ClaimGroupByResultSchema = z.array(z.object({
  id: z.number().int(),
  patientId: z.number().int(),
  appointmentId: z.number().int(),
  userId: z.number().int(),
  staffId: z.number().int(),
  patientName: z.string(),
  memberId: z.string(),
  dateOfBirth: z.date(),
  remarks: z.string(),
  missingTeeth: z.unknown(),
  serviceDate: z.date(),
  insuranceProvider: z.string(),
  createdAt: z.date(),
  updatedAt: z.date(),
  claimNumber: z.string(),
  preAuthNumber: z.string(),
  npiProviderId: z.number().int(),
  _count: z.object({
    id: z.number(),
    patientId: z.number(),
    appointmentId: z.number(),
    userId: z.number(),
    staffId: z.number(),
    patientName: z.number(),
    memberId: z.number(),
    dateOfBirth: z.number(),
    remarks: z.number(),
    missingTeethStatus: z.number(),
    missingTeeth: z.number(),
    serviceDate: z.number(),
    insuranceProvider: z.number(),
    createdAt: z.number(),
    updatedAt: z.number(),
    status: z.number(),
    claimNumber: z.number(),
    preAuthNumber: z.number(),
    npiProviderId: z.number(),
    patient: z.number(),
    appointment: z.number(),
    user: z.number(),
    staff: z.number(),
    npiProvider: z.number(),
    serviceLines: z.number(),
    claimFiles: z.number(),
    payment: z.number()
  }).optional(),
  _sum: z.object({
    id: z.number().nullable(),
    patientId: z.number().nullable(),
    appointmentId: z.number().nullable(),
    userId: z.number().nullable(),
    staffId: z.number().nullable(),
    npiProviderId: z.number().nullable()
  }).nullable().optional(),
  _avg: z.object({
    id: z.number().nullable(),
    patientId: z.number().nullable(),
    appointmentId: z.number().nullable(),
    userId: z.number().nullable(),
    staffId: z.number().nullable(),
    npiProviderId: z.number().nullable()
  }).nullable().optional(),
  _min: z.object({
    id: z.number().int().nullable(),
    patientId: z.number().int().nullable(),
    appointmentId: z.number().int().nullable(),
    userId: z.number().int().nullable(),
    staffId: z.number().int().nullable(),
    patientName: z.string().nullable(),
    memberId: z.string().nullable(),
    dateOfBirth: z.date().nullable(),
    remarks: z.string().nullable(),
    serviceDate: z.date().nullable(),
    insuranceProvider: z.string().nullable(),
    createdAt: z.date().nullable(),
    updatedAt: z.date().nullable(),
    claimNumber: z.string().nullable(),
    preAuthNumber: z.string().nullable(),
    npiProviderId: z.number().int().nullable()
  }).nullable().optional(),
  _max: z.object({
    id: z.number().int().nullable(),
    patientId: z.number().int().nullable(),
    appointmentId: z.number().int().nullable(),
    userId: z.number().int().nullable(),
    staffId: z.number().int().nullable(),
    patientName: z.string().nullable(),
    memberId: z.string().nullable(),
    dateOfBirth: z.date().nullable(),
    remarks: z.string().nullable(),
    serviceDate: z.date().nullable(),
    insuranceProvider: z.string().nullable(),
    createdAt: z.date().nullable(),
    updatedAt: z.date().nullable(),
    claimNumber: z.string().nullable(),
    preAuthNumber: z.string().nullable(),
    npiProviderId: z.number().int().nullable()
  }).nullable().optional()
}));