from asf.predictors.abstract_predictor import AbstractPredictor
from asf.predictors.epm_random_forest import EPMRandomForest
from asf.predictors.linear_model import LinearClassifierWrapper, LinearRegressorWrapper
from asf.predictors.mlp import MLPClassifierWrapper, MLPRegressorWrapper
from asf.predictors.random_forest import (
    RandomForestClassifierWrapper,
    RandomForestRegressorWrapper,
)
from asf.predictors.ranking_mlp import RankingMLP
from asf.predictors.regression_mlp import RegressionMLP
from asf.predictors.sklearn_wrapper import SklearnWrapper
from asf.predictors.svm import SVMClassifierWrapper, SVMRegressorWrapper

try:
    from asf.predictors.xgboost import XGBoostClassifierWrapper, XGBoostRegressorWrapper

    XGB_AVAILABLE = True
except ImportError:
    XGB_AVAILABLE = False

__all__ = [
    "AbstractPredictor",
    "EPMRandomForest",
    "SklearnWrapper",
    "RankingMLP",
    "RegressionMLP",
    "SVMClassifierWrapper",
    "SVMRegressorWrapper",
    "XGBoostClassifierWrapper",
    "XGBoostRegressorWrapper",
    "RandomForestClassifierWrapper",
    "RandomForestRegressorWrapper",
    "MLPClassifierWrapper",
    "MLPRegressorWrapper",
    "LinearClassifierWrapper",
    "LinearRegressorWrapper",
]
