import { PrismaService } from "../../../core/database/prisma/prisma.service";
export declare class AuditLogRepository {
    private readonly prisma;
    constructor(prisma: PrismaService);
    createAuditLog(data: any): import("@prisma/client").Prisma.Prisma__MeetingAttendanceAuditLogClient<{
        userRole: string;
        id: string;
        createdAt: Date;
        action: string;
        userId: string;
        changes: string | null;
        sessionId: string | null;
        traceId: string | null;
        requestId: string | null;
        ipAddress: string | null;
        userAgent: string | null;
        deviceId: string | null;
        geoLocation: string | null;
        errorMessage: string | null;
        duration: number | null;
        source: string;
        resource: string;
        endpoint: string;
        method: string;
        statusCode: number;
        userName: string;
        requestBody: string | null;
        userEmail: string;
        resourceId: string | null;
        fieldDiffs: string | null;
        reasonCode: string | null;
        reasonText: string | null;
        prevHash: string | null;
        hash: string | null;
        isRedacted: boolean;
        isTombstoned: boolean;
        retentionUntil: Date | null;
    }, never, import("@prisma/client/runtime/library").DefaultArgs, import("@prisma/client").Prisma.PrismaClientOptions>;
    listAuditLogs(filters: {
        userId?: string;
        userEmail?: string;
        action?: string;
        resource?: string;
        startDate?: Date;
        endDate?: Date;
        page?: number;
        pageSize?: number;
    }): import("@prisma/client").Prisma.PrismaPromise<{
        userRole: string;
        id: string;
        createdAt: Date;
        action: string;
        userId: string;
        changes: string | null;
        sessionId: string | null;
        traceId: string | null;
        requestId: string | null;
        ipAddress: string | null;
        userAgent: string | null;
        deviceId: string | null;
        geoLocation: string | null;
        errorMessage: string | null;
        duration: number | null;
        source: string;
        resource: string;
        endpoint: string;
        method: string;
        statusCode: number;
        userName: string;
        requestBody: string | null;
        userEmail: string;
        resourceId: string | null;
        fieldDiffs: string | null;
        reasonCode: string | null;
        reasonText: string | null;
        prevHash: string | null;
        hash: string | null;
        isRedacted: boolean;
        isTombstoned: boolean;
        retentionUntil: Date | null;
    }[]>;
    countAuditLogs(filters: {
        userId?: string;
        userEmail?: string;
        action?: string;
        resource?: string;
        startDate?: Date;
        endDate?: Date;
    }): import("@prisma/client").Prisma.PrismaPromise<number>;
}
