// =============================================================================
// CONSENT MANAGEMENT
// =============================================================================

import type { DataPointCategory, LegalBasis } from './enums'

/**
 * Einzelne Einwilligung eines Nutzers
 */
export interface ConsentEntry {
  id: string
  userId: string
  dataPointId: string
  granted: boolean
  grantedAt: Date
  revokedAt?: Date
  ipAddress?: string
  userAgent?: string
  consentVersion: string
}

/**
 * Aggregierte Consent-Statistiken
 */
export interface ConsentStatistics {
  totalConsents: number
  activeConsents: number
  revokedConsents: number
  byCategory: Record<DataPointCategory, {
    total: number
    active: number
    revoked: number
  }>
  byLegalBasis: Record<LegalBasis, {
    total: number
    active: number
  }>
  conversionRate: number                    // Prozent der Nutzer mit Consent
}
