from dataclasses import dataclass from typing import Optional from datatypes.magicplan.domain.models import Plan @dataclass class AuditRow: floor_level: Optional[int] = None # set only on floor-separator rows room_name: Optional[str] = None room_width_m: Optional[float] = None room_length_m: Optional[float] = None room_area_m2: Optional[float] = None window_label: Optional[str] = None window_location: Optional[str] = None window_width_m: Optional[float] = None window_height_m: Optional[float] = None window_area_m2: Optional[float] = None window_opening_type: Optional[str] = None door_location: Optional[str] = None door_width_mm: Optional[float] = None def _build_rows(plan: Plan) -> list[AuditRow]: raise NotImplementedError