from abc import ABC, abstractmethod from typing import Any, List, Optional from backend.condition.domain.element import Element from backend.condition.domain.property_condition_survey import PropertyConditionSurvey class Mapper(ABC): @abstractmethod def map_asset_conditions_for_property( self, client_property_data: Any, survey_year: Optional[int] = None ) -> PropertyConditionSurvey: # TODO: client_data should be properly typed pass