// Shared types for control-library page

export interface ControlsMeta {
  total: number
  domains: Array<{ domain: string; count: number }>
  sources: Array<{ source: string; count: number }>
  no_source_count: number
  type_counts?: {
    rich: number
    atomic: number
    eigenentwicklung: number
  }
  severity_counts?: Record<string, number>
  verification_method_counts?: Record<string, number>
  category_counts?: Record<string, number>
  evidence_type_counts?: Record<string, number>
  release_state_counts?: Record<string, number>
}

export interface ControlFormData {
  title: string
  objective: string
  severity: string
  domain: string
  release_state: string
  verification_method: string
  category: string
  evidence_type: string
  target_audience: string
  license_rule: string
  risk_score: number | null
  implementation_effort: number | null
  open_anchors: Array<{ framework: string; ref: string; url: string }>
  requirements: string[]
  test_procedure: string[]
  evidence: Array<{ type: string; description: string }>
  [key: string]: unknown
}
