"""
Download Management Module

Smart retry management for downloaded resources with failure classification,
cooldown handling, and permanent failure tracking to prevent endless retry loops.
"""

from .retry_manager import (
    RetryManager,
    RetryDecision,
    ResourceFilterResult,
    FilterSummary,
)
from .failure_classifier import (
    BaseFailure,
    PermanentFailure,
    TemporaryFailure,
    RateLimitFailure,
    FailureClassifier,
)
from .status_tracker import ResourceStatusTracker, ResourceDownloadStatus
from .filters.resource_filter import ResourceFilter

__all__ = [
    "RetryManager",
    "RetryDecision",
    "ResourceFilterResult",
    "FilterSummary",
    "BaseFailure",
    "PermanentFailure",
    "TemporaryFailure",
    "RateLimitFailure",
    "FailureClassifier",
    "ResourceStatusTracker",
    "ResourceDownloadStatus",
    "ResourceFilter",
]
