"""Strategy framework for OpenClaw Trading.

This module provides the strategy infrastructure including base classes,
registration mechanism, and factory for dynamic strategy loading.
"""

from openclaw.strategy.base import Strategy, StrategyContext, Signal, SignalType
from openclaw.strategy.buy import BuyStrategy
from openclaw.strategy.sell import SellStrategy
from openclaw.strategy.select import SelectStrategy, SelectResult
from openclaw.strategy.registry import register_strategy, get_registered_strategies
from openclaw.strategy.factory import StrategyFactory, create_strategy

__all__ = [
    # Base classes
    "Strategy",
    "StrategyContext",
    "Signal",
    "SignalType",
    # Strategy types
    "BuyStrategy",
    "SellStrategy",
    "SelectStrategy",
    "SelectResult",
    # Registration
    "register_strategy",
    "get_registered_strategies",
    # Factory
    "StrategyFactory",
    "create_strategy",
]
