/**
 * VVT Baseline-Katalog — Types
 */

import type { BusinessFunction } from '../vvt-types'

export interface BaselineTemplate {
  templateId: string
  businessFunction: BusinessFunction
  name: string
  description: string
  purposes: string[]
  legalBases: { type: string; description?: string; reference?: string }[]
  dataSubjectCategories: string[]
  personalDataCategories: string[]
  recipientCategories: { type: string; name: string; description?: string }[]
  retentionPeriod: { duration?: number; durationUnit?: string; description: string; legalBasis?: string; deletionProcedure?: string }
  tomDescription: string
  structuredToms: {
    accessControl: string[]
    confidentiality: string[]
    integrity: string[]
    availability: string[]
    separation: string[]
  }
  typicalSystems: string[]
  protectionLevel: 'LOW' | 'MEDIUM' | 'HIGH'
  dpiaRequired: boolean
  tags: string[]
}
