from __future__ import annotations from typing import Optional, List from pydantic import BaseModel class FontEntry(BaseModel): name: str status: str # 'safe' | 'professional' | 'unknown' substitute: Optional[str] = None substitute_quality: Optional[str] = None used_for: str = '' class ScanWarning(BaseModel): type: str severity: str # 'info' | 'warning' | 'error' page: Optional[int] = None message: str class ScanReport(BaseModel): session_id: str = '' pages: int stories: int images: int tables: int fonts: List[FontEntry] = [] warnings: List[ScanWarning] = []