from abc import ABC, abstractmethod

from numpy.typing import ArrayLike


class RegressionModel(ABC):
    @abstractmethod
    def learn(self, x_train: ArrayLike, y_train: ArrayLike):
        pass

    @abstractmethod
    def predict(self, x_test: ArrayLike) -> ArrayLike:
        pass

from abc import ABC, abstractmethod

from numpy.typing import ArrayLike


class RegressionModel(ABC):
    @abstractmethod
    def learn(self, x_train: ArrayLike, y_train: ArrayLike):
        pass

    @abstractmethod
    def predict(self, x_test: ArrayLike) -> ArrayLike:
        pass
