import * as z from 'zod';
export const AppointmentProcedureGroupByResultSchema = z.array(z.object({
  id: z.number().int(),
  appointmentId: z.number().int(),
  patientId: z.number().int(),
  npiProviderId: z.number().int(),
  procedureCode: z.string(),
  procedureLabel: z.string(),
  fee: z.number(),
  category: z.string(),
  toothNumber: z.string(),
  toothSurface: z.string(),
  oralCavityArea: z.string(),
  comboKey: z.string(),
  createdAt: z.date(),
  _count: z.object({
    id: z.number(),
    appointmentId: z.number(),
    patientId: z.number(),
    npiProviderId: z.number(),
    procedureCode: z.number(),
    procedureLabel: z.number(),
    fee: z.number(),
    category: z.number(),
    toothNumber: z.number(),
    toothSurface: z.number(),
    oralCavityArea: z.number(),
    source: z.number(),
    comboKey: z.number(),
    createdAt: z.number(),
    appointment: z.number(),
    patient: z.number(),
    npiProvider: z.number()
  }).optional(),
  _sum: z.object({
    id: z.number().nullable(),
    appointmentId: z.number().nullable(),
    patientId: z.number().nullable(),
    npiProviderId: z.number().nullable(),
    fee: z.number().nullable()
  }).nullable().optional(),
  _avg: z.object({
    id: z.number().nullable(),
    appointmentId: z.number().nullable(),
    patientId: z.number().nullable(),
    npiProviderId: z.number().nullable(),
    fee: z.number().nullable()
  }).nullable().optional(),
  _min: z.object({
    id: z.number().int().nullable(),
    appointmentId: z.number().int().nullable(),
    patientId: z.number().int().nullable(),
    npiProviderId: z.number().int().nullable(),
    procedureCode: z.string().nullable(),
    procedureLabel: z.string().nullable(),
    fee: z.number().nullable(),
    category: z.string().nullable(),
    toothNumber: z.string().nullable(),
    toothSurface: z.string().nullable(),
    oralCavityArea: z.string().nullable(),
    comboKey: z.string().nullable(),
    createdAt: z.date().nullable()
  }).nullable().optional(),
  _max: z.object({
    id: z.number().int().nullable(),
    appointmentId: z.number().int().nullable(),
    patientId: z.number().int().nullable(),
    npiProviderId: z.number().int().nullable(),
    procedureCode: z.string().nullable(),
    procedureLabel: z.string().nullable(),
    fee: z.number().nullable(),
    category: z.string().nullable(),
    toothNumber: z.string().nullable(),
    toothSurface: z.string().nullable(),
    oralCavityArea: z.string().nullable(),
    comboKey: z.string().nullable(),
    createdAt: z.date().nullable()
  }).nullable().optional()
}));