from __future__ import annotations from abc import ABC, abstractmethod from src.schemas.report import ReportRequest, ReportResult class ReportGenerator(ABC): """Generates a structured radiology report from all pipeline outputs (Stage 3).""" @abstractmethod def generate_report(self, request: ReportRequest) -> ReportResult: """Return a ReportResult containing the generated free-text report."""