from .agent_builder import AgentBuilder
from .actor_critic import *
from .value import *
from .policy_search import *
from .environment_builder import EnvironmentBuilder

__all__ = [
    'AgentBuilder',
    'EnvironmentBuilder',
    # Policy Search
    'REINFORCEBuilder',
    'GPOMDPBuilder',
    'eNACBuilder',
    'PGPEBuilder',
    'RWRBuilder',
    'REPSBuilder',
    'ConstrainedREPSBuilder',
    # Classic Actor Critic
    'StochasticACBuilder',
    'COPDAC_QBuilder',
    # Deep Actor Critic
    'A2CBuilder',
    'PPOBuilder',
    'TRPOBuilder',
    'DDPGBuilder',
    'TD3Builder',
    'SACBuilder',
    # DQN and variants
    'DQNBuilder',
    'DoubleDQNBuilder',
    'PrioritizedDQNBuilder',
    'AveragedDQNBuilder',
    'DuelingDQNBuilder',
    'MaxminDQNBuilder',
    'CategoricalDQNBuilder',
    'NoisyDQNBuilder',
    'RainbowBuilder',
    # TD Continuous
    'SarsaLambdaContinuousBuilder',
    'TrueOnlineSarsaLambdaBuilder',
    # TD discrete
    'QLearningBuilder',
    'QLambdaBuilder',
    'DoubleQLearningBuilder',
    'SARSABuilder',
    'SARSALambdaBuilder',
    'SpeedyQLearningBuilder',
    'WeightedQLearningBuilder'
]

from .agent_builder import AgentBuilder
from .actor_critic import *
from .value import *
from .policy_search import *
from .environment_builder import EnvironmentBuilder

__all__ = [
    'AgentBuilder',
    'EnvironmentBuilder',
    # Policy Search
    'REINFORCEBuilder',
    'GPOMDPBuilder',
    'eNACBuilder',
    'PGPEBuilder',
    'RWRBuilder',
    'REPSBuilder',
    'ConstrainedREPSBuilder',
    # Classic Actor Critic
    'StochasticACBuilder',
    'COPDAC_QBuilder',
    # Deep Actor Critic
    'A2CBuilder',
    'PPOBuilder',
    'TRPOBuilder',
    'DDPGBuilder',
    'TD3Builder',
    'SACBuilder',
    # DQN and variants
    'DQNBuilder',
    'DoubleDQNBuilder',
    'PrioritizedDQNBuilder',
    'AveragedDQNBuilder',
    'DuelingDQNBuilder',
    'MaxminDQNBuilder',
    'CategoricalDQNBuilder',
    'NoisyDQNBuilder',
    'RainbowBuilder',
    # TD Continuous
    'SarsaLambdaContinuousBuilder',
    'TrueOnlineSarsaLambdaBuilder',
    # TD discrete
    'QLearningBuilder',
    'QLambdaBuilder',
    'DoubleQLearningBuilder',
    'SARSABuilder',
    'SARSALambdaBuilder',
    'SpeedyQLearningBuilder',
    'WeightedQLearningBuilder'
]

# Policy Search # Classic Actor Critic # Deep Actor Critic # DQN and variants # TD Continuous # TD discrete