"""Recovery strategies module."""

from .base import (
    RecoveryStrategy,
    RecoveryPriority,
    RecoveryContext,
    RecoveryStrategyBase
)

from .implementations import (
    FallbackStrategy,
    GracefulDegradationStrategy,
    StateRecoveryStrategy,
    TransactionRollbackStrategy,
    ResourceCleanupStrategy,
    HealthCheckStrategy,
    create_fallback_strategy,
    create_graceful_degradation_strategy,
    create_state_recovery_strategy,
    create_transaction_rollback_strategy,
    create_resource_cleanup_strategy,
    create_health_check_strategy
)

from .manager import RecoveryManager

__all__ = [
    # Base classes and enums
    'RecoveryStrategy',
    'RecoveryPriority',
    'RecoveryContext',
    'RecoveryStrategyBase',
    
    # Strategy implementations
    'FallbackStrategy',
    'GracefulDegradationStrategy',
    'StateRecoveryStrategy',
    'TransactionRollbackStrategy',
    'ResourceCleanupStrategy',
    'HealthCheckStrategy',
    
    # Convenience functions
    'create_fallback_strategy',
    'create_graceful_degradation_strategy',
    'create_state_recovery_strategy',
    'create_transaction_rollback_strategy',
    'create_resource_cleanup_strategy',
    'create_health_check_strategy',
    
    # Manager
    'RecoveryManager'
]
