"""
Pluggable HTML content extraction strategies.

Extractors can be composed in a pipeline: e.g. Readability first
(structural DOM scoping), then justext (statistical boilerplate removal).
"""

from .base import BaseExtractor
from .justext_extractor import JustextExtractor
from .metadata_extractor import extract_metadata, metadata_to_text
from .newspaper_extractor import NewspaperExtractor
from .pipeline import (
    batch_fetch_and_extract,
    extract_content,
    extract_content_with_metadata,
    fetch_and_extract,
)
from .readability_extractor import ReadabilityExtractor
from .trafilatura_extractor import TrafilaturaExtractor

__all__ = [
    "BaseExtractor",
    "JustextExtractor",
    "NewspaperExtractor",
    "ReadabilityExtractor",
    "TrafilaturaExtractor",
    "batch_fetch_and_extract",
    "extract_content",
    "extract_content_with_metadata",
    "extract_metadata",
    "fetch_and_extract",
    "metadata_to_text",
]
