export interface PDFExportRequest {
  asn: number
  format: 'report' | 'executive' | 'technical'
}

export interface PDFReport {
  id: number
  resource_type: string
  resource_value: string
  format: string
  generated_at: Date
  expires_at: Date
  file_hash: string
  file_size_bytes: number
  metadata: Record<string, unknown>
}

export interface HealthScoreData {
  overall: number
  aspa: number
  rpki: number
  bgp_stability: number
  peering_health: number
}

export interface ASPAData {
  adoption_status: 'adopted' | 'in_progress' | 'not_adopted'
  provider_verification: number
  readiness_score: number
}

export interface PeeringData {
  ixp_connections: number
  peer_count: number
  open_peers: number
  route_exports: number
}

export interface ThreatData {
  recent_hijacks: number
  anomalies_detected: number
  rpki_invalids: number
  moas_events: number
}

export interface PDFTemplateData {
  asn: number
  network_name: string
  generated_at: string
  health_score: HealthScoreData
  aspa: ASPAData
  peering: PeeringData
  threats: ThreatData
  recommendations: string[]
  data_sources: string[]
}
