/**
 * Datenpunktkatalog & Datenschutzinformationen-Generator
 * Enums & Literal Types
 */

// =============================================================================
// ENUMS
// =============================================================================

/**
 * Kategorien fuer Datenpunkte (18 Kategorien: A-R)
 */
export type DataPointCategory =
  | 'MASTER_DATA'         // A: Stammdaten
  | 'CONTACT_DATA'        // B: Kontaktdaten
  | 'AUTHENTICATION'      // C: Authentifizierungsdaten
  | 'CONSENT'             // D: Einwilligungsdaten
  | 'COMMUNICATION'       // E: Kommunikationsdaten
  | 'PAYMENT'             // F: Zahlungsdaten
  | 'USAGE_DATA'          // G: Nutzungsdaten
  | 'LOCATION'            // H: Standortdaten
  | 'DEVICE_DATA'         // I: Gerätedaten
  | 'MARKETING'           // J: Marketingdaten
  | 'ANALYTICS'           // K: Analysedaten
  | 'SOCIAL_MEDIA'        // L: Social-Media-Daten
  | 'HEALTH_DATA'         // M: Gesundheitsdaten (Art. 9 DSGVO)
  | 'EMPLOYEE_DATA'       // N: Beschäftigtendaten
  | 'CONTRACT_DATA'       // O: Vertragsdaten
  | 'LOG_DATA'            // P: Protokolldaten
  | 'AI_DATA'             // Q: KI-Daten
  | 'SECURITY'            // R: Sicherheitsdaten

/**
 * Risikoniveau fuer Datenpunkte
 */
export type RiskLevel = 'LOW' | 'MEDIUM' | 'HIGH'

/**
 * Rechtsgrundlagen nach DSGVO Art. 6 und Art. 9
 */
export type LegalBasis =
  | 'CONTRACT'            // Art. 6 Abs. 1 lit. b DSGVO
  | 'CONSENT'             // Art. 6 Abs. 1 lit. a DSGVO
  | 'EXPLICIT_CONSENT'    // Art. 9 Abs. 2 lit. a DSGVO (fuer Art. 9 Daten)
  | 'LEGITIMATE_INTEREST' // Art. 6 Abs. 1 lit. f DSGVO
  | 'LEGAL_OBLIGATION'    // Art. 6 Abs. 1 lit. c DSGVO
  | 'VITAL_INTERESTS'     // Art. 6 Abs. 1 lit. d DSGVO
  | 'PUBLIC_INTEREST'     // Art. 6 Abs. 1 lit. e DSGVO

/**
 * Aufbewahrungsfristen
 */
export type RetentionPeriod =
  | '24_HOURS'
  | '30_DAYS'
  | '90_DAYS'
  | '12_MONTHS'
  | '24_MONTHS'
  | '26_MONTHS'              // Google Analytics Standard
  | '36_MONTHS'
  | '48_MONTHS'
  | '6_YEARS'
  | '10_YEARS'
  | 'UNTIL_REVOCATION'
  | 'UNTIL_PURPOSE_FULFILLED'
  | 'UNTIL_ACCOUNT_DELETION'

/**
 * Cookie-Kategorien fuer Cookie-Banner
 */
export type CookieCategory =
  | 'ESSENTIAL'           // Technisch notwendig
  | 'PERFORMANCE'         // Analyse & Performance
  | 'PERSONALIZATION'     // Personalisierung
  | 'EXTERNAL_MEDIA'      // Externe Medien

/**
 * Export-Formate fuer Privacy Policy
 */
export type ExportFormat = 'HTML' | 'MARKDOWN' | 'PDF' | 'DOCX'

/**
 * Sprachen
 */
export type SupportedLanguage = 'de' | 'en'
