"""Fallback mechanisms module."""

from .base import (
    FallbackConfig,
    FallbackProvider,
    fallback_context,
    with_fallbacks
)

from .providers import (
    CacheFallbackProvider,
    ServiceFallbackProvider,
    DefaultValueFallbackProvider,
    create_cache_fallback,
    create_service_fallback,
    create_default_value_fallback
)

from .manager import (
    FallbackManager,
    TranscriptionFallbackManager,
    MediaDownloadFallbackManager,
    APIFallbackManager
)

__all__ = [
    # Base classes and configuration
    'FallbackConfig',
    'FallbackProvider',
    'fallback_context',
    'with_fallbacks',
    
    # Provider implementations
    'CacheFallbackProvider',
    'ServiceFallbackProvider',
    'DefaultValueFallbackProvider',
    
    # Convenience functions
    'create_cache_fallback',
    'create_service_fallback',
    'create_default_value_fallback',
    
    # Managers
    'FallbackManager',
    'TranscriptionFallbackManager',
    'MediaDownloadFallbackManager',
    'APIFallbackManager'
]
