import type { Prisma } from '../../generated/prisma';
import * as z from 'zod';
export declare const AppointmentGroupBySchema: z.ZodType<Prisma.AppointmentGroupByArgs>;
export declare const AppointmentGroupByZodSchema: z.ZodObject<{
    where: z.ZodOptional<z.ZodType<Prisma.AppointmentWhereInput, z.ZodTypeDef, Prisma.AppointmentWhereInput>>;
    orderBy: z.ZodOptional<z.ZodUnion<[z.ZodType<Prisma.AppointmentOrderByWithAggregationInput, z.ZodTypeDef, Prisma.AppointmentOrderByWithAggregationInput>, z.ZodArray<z.ZodType<Prisma.AppointmentOrderByWithAggregationInput, z.ZodTypeDef, Prisma.AppointmentOrderByWithAggregationInput>, "many">]>>;
    having: z.ZodOptional<z.ZodType<Prisma.AppointmentScalarWhereWithAggregatesInput, z.ZodTypeDef, Prisma.AppointmentScalarWhereWithAggregatesInput>>;
    take: z.ZodOptional<z.ZodNumber>;
    skip: z.ZodOptional<z.ZodNumber>;
    by: z.ZodArray<z.ZodEnum<["id", "patientId", "userId", "staffId", "title", "date", "startTime", "endTime", "type", "notes", "procedureCodeNotes", "status", "createdAt", "eligibilityStatus"]>, "many">;
    _count: z.ZodOptional<z.ZodUnion<[z.ZodLiteral<true>, z.ZodType<Prisma.AppointmentCountAggregateInputType, z.ZodTypeDef, Prisma.AppointmentCountAggregateInputType>]>>;
    _min: z.ZodOptional<z.ZodType<Prisma.AppointmentMinAggregateInputType, z.ZodTypeDef, Prisma.AppointmentMinAggregateInputType>>;
    _max: z.ZodOptional<z.ZodType<Prisma.AppointmentMaxAggregateInputType, z.ZodTypeDef, Prisma.AppointmentMaxAggregateInputType>>;
    _avg: z.ZodOptional<z.ZodType<Prisma.AppointmentAvgAggregateInputType, z.ZodTypeDef, Prisma.AppointmentAvgAggregateInputType>>;
    _sum: z.ZodOptional<z.ZodType<Prisma.AppointmentSumAggregateInputType, z.ZodTypeDef, Prisma.AppointmentSumAggregateInputType>>;
}, "strict", z.ZodTypeAny, {
    by: ("type" | "status" | "id" | "date" | "title" | "createdAt" | "patientId" | "startTime" | "endTime" | "notes" | "procedureCodeNotes" | "eligibilityStatus" | "userId" | "staffId")[];
    where?: Prisma.AppointmentWhereInput | undefined;
    _count?: true | Prisma.AppointmentCountAggregateInputType | undefined;
    orderBy?: Prisma.AppointmentOrderByWithAggregationInput | Prisma.AppointmentOrderByWithAggregationInput[] | undefined;
    take?: number | undefined;
    skip?: number | undefined;
    _min?: Prisma.AppointmentMinAggregateInputType | undefined;
    _max?: Prisma.AppointmentMaxAggregateInputType | undefined;
    _avg?: Prisma.AppointmentAvgAggregateInputType | undefined;
    _sum?: Prisma.AppointmentSumAggregateInputType | undefined;
    having?: Prisma.AppointmentScalarWhereWithAggregatesInput | undefined;
}, {
    by: ("type" | "status" | "id" | "date" | "title" | "createdAt" | "patientId" | "startTime" | "endTime" | "notes" | "procedureCodeNotes" | "eligibilityStatus" | "userId" | "staffId")[];
    where?: Prisma.AppointmentWhereInput | undefined;
    _count?: true | Prisma.AppointmentCountAggregateInputType | undefined;
    orderBy?: Prisma.AppointmentOrderByWithAggregationInput | Prisma.AppointmentOrderByWithAggregationInput[] | undefined;
    take?: number | undefined;
    skip?: number | undefined;
    _min?: Prisma.AppointmentMinAggregateInputType | undefined;
    _max?: Prisma.AppointmentMaxAggregateInputType | undefined;
    _avg?: Prisma.AppointmentAvgAggregateInputType | undefined;
    _sum?: Prisma.AppointmentSumAggregateInputType | undefined;
    having?: Prisma.AppointmentScalarWhereWithAggregatesInput | undefined;
}>;
//# sourceMappingURL=groupByAppointment.schema.d.ts.map