# -------------------------------------------------------------------------------------------------
#  Copyright (C) 2015-2026 Nautech Systems Pty Ltd. All rights reserved.
#  https://nautechsystems.io
#
#  Licensed under the GNU Lesser General Public License Version 3.0 (the "License");
#  You may not use this file except in compliance with the License.
#  You may obtain a copy of the License at https://www.gnu.org/licenses/lgpl-3.0.en.html
#
#  Unless required by applicable law or agreed to in writing, software
#  distributed under the License is distributed on an "AS IS" BASIS,
#  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
#  See the License for the specific language governing permissions and
#  limitations under the License.
# -------------------------------------------------------------------------------------------------
"""
The `config` subpackage groups the core configuration types.

Adapter, testkit, and example configurations remain in their owning packages.

"""

from nautilus_trader.analysis import TearsheetConfig
from nautilus_trader.backtest import BacktestDataConfig
from nautilus_trader.backtest import BacktestEngineConfig
from nautilus_trader.backtest import BacktestRunConfig
from nautilus_trader.backtest import BacktestVenueConfig
from nautilus_trader.common import CacheConfig
from nautilus_trader.common import DataActorConfig
from nautilus_trader.common import FileWriterConfig
from nautilus_trader.common import ImportableActorConfig
from nautilus_trader.common import LoggerConfig
from nautilus_trader.common import MessageBusConfig
from nautilus_trader.data import DataEngineConfig
from nautilus_trader.execution import ExecutionEngineConfig
from nautilus_trader.execution import OrderEmulatorConfig
from nautilus_trader.live import DataClientConfig
from nautilus_trader.live import ExecutionClientConfig
from nautilus_trader.live import InstrumentProviderConfig
from nautilus_trader.live import LiveDataEngineConfig
from nautilus_trader.live import LiveExecutionEngineConfig
from nautilus_trader.live import LiveNodeConfig
from nautilus_trader.live import LiveRiskEngineConfig
from nautilus_trader.live import PluginConfig
from nautilus_trader.live import QueueMonitorConfig
from nautilus_trader.live import RoutingConfig
from nautilus_trader.live.config import ImportableConfig
from nautilus_trader.live.config import ImportableFactoryConfig
from nautilus_trader.persistence import DataCatalogConfig
from nautilus_trader.persistence import StreamingConfig
from nautilus_trader.portfolio import PortfolioConfig
from nautilus_trader.risk import RiskEngineConfig
from nautilus_trader.trading import ExecutionAlgorithmConfig
from nautilus_trader.trading import ImportableControllerConfig
from nautilus_trader.trading import ImportableExecutionAlgorithmConfig
from nautilus_trader.trading import ImportableStrategyConfig
from nautilus_trader.trading import StrategyConfig


__all__ = [
    "BacktestDataConfig",
    "BacktestEngineConfig",
    "BacktestRunConfig",
    "BacktestVenueConfig",
    "CacheConfig",
    "DataActorConfig",
    "DataCatalogConfig",
    "DataClientConfig",
    "DataEngineConfig",
    "ExecutionAlgorithmConfig",
    "ExecutionClientConfig",
    "ExecutionEngineConfig",
    "FileWriterConfig",
    "ImportableActorConfig",
    "ImportableConfig",
    "ImportableControllerConfig",
    "ImportableExecutionAlgorithmConfig",
    "ImportableFactoryConfig",
    "ImportableStrategyConfig",
    "InstrumentProviderConfig",
    "LiveDataEngineConfig",
    "LiveExecutionEngineConfig",
    "LiveNodeConfig",
    "LiveRiskEngineConfig",
    "LoggerConfig",
    "MessageBusConfig",
    "OrderEmulatorConfig",
    "PluginConfig",
    "PortfolioConfig",
    "QueueMonitorConfig",
    "RiskEngineConfig",
    "RoutingConfig",
    "StrategyConfig",
    "StreamingConfig",
    "TearsheetConfig",
]
