import { PrismaService } from "../../../core/database/prisma/prisma.service";
export declare class DailySummaryRepository {
    private readonly prisma;
    constructor(prisma: PrismaService);
    findByCheckpointUserAndDate(checkpointId: string, userId: string, localDate: string): import("@prisma/client").Prisma.Prisma__SiteDailySummaryClient<{
        id: string;
        userId: string;
        updatedAt: Date;
        checkpointId: string;
        localDate: string;
        firstCheckInAt: Date | null;
        lastCheckOutAt: Date | null;
        checkInCount: number;
        checkOutCount: number;
        hasGeoAnomaly: boolean;
        lastEventId: string | null;
    } | null, null, import("@prisma/client/runtime/library").DefaultArgs, import("@prisma/client").Prisma.PrismaClientOptions>;
    findByCheckpointAndDate(checkpointId: string, localDate: string): import("@prisma/client").Prisma.PrismaPromise<({
        user: {
            displayName: string;
            id: string;
            email: string;
        };
    } & {
        id: string;
        userId: string;
        updatedAt: Date;
        checkpointId: string;
        localDate: string;
        firstCheckInAt: Date | null;
        lastCheckOutAt: Date | null;
        checkInCount: number;
        checkOutCount: number;
        hasGeoAnomaly: boolean;
        lastEventId: string | null;
    })[]>;
    upsertSummary(checkpointId: string, userId: string, localDate: string, updateData: {
        eventType: 'CHECK_IN' | 'CHECK_OUT';
        timestamp: Date;
        eventId: string;
        hasGeoAnomaly: boolean;
    }): Promise<{
        id: string;
        userId: string;
        updatedAt: Date;
        checkpointId: string;
        localDate: string;
        firstCheckInAt: Date | null;
        lastCheckOutAt: Date | null;
        checkInCount: number;
        checkOutCount: number;
        hasGeoAnomaly: boolean;
        lastEventId: string | null;
    }>;
}
