"""
AI Processor Module

A modular AI-powered worksheet processing system for:
- Vision-based analysis
- Content generation (MC, Cloze, Q&A)
- Print version export
- Mindmap visualization

Usage:
    from ai_processor import analyze_scan_structure_with_ai, generate_mc_from_analysis
"""

# Configuration
from .config import (
    BASE_DIR,
    EINGANG_DIR,
    BEREINIGT_DIR,
    VISION_API,
    get_openai_api_key,
    get_anthropic_api_key,
    ensure_directories,
)

# Utilities
from .utils import (
    encode_image_to_data_url,
    encode_image_to_base64,
    dummy_process_scan,
    get_media_type,
)

# Vision - Scan Analysis
from .vision import (
    analyze_scan_structure_with_ai,
    describe_scan_with_ai,
    remove_handwriting_from_scan,
    build_clean_html_from_analysis,
)

# Generators
from .generators import (
    generate_mc_from_analysis,
    generate_cloze_from_analysis,
    generate_qa_from_analysis,
    update_leitner_progress,
    get_next_review_items,
)

# Export - Print Versions
from .export import (
    generate_print_version_qa,
    generate_print_version_cloze,
    generate_print_version_mc,
    generate_print_version_worksheet,
)

# Visualization - Mindmap
from .visualization import (
    generate_mindmap_data,
    generate_mindmap_html,
    save_mindmap_for_worksheet,
)

# Legacy aliases for backward compatibility
_get_api_key = get_openai_api_key
_encode_image_to_data_url = encode_image_to_data_url

__all__ = [
    # Config
    "BASE_DIR",
    "EINGANG_DIR",
    "BEREINIGT_DIR",
    "VISION_API",
    "get_openai_api_key",
    "get_anthropic_api_key",
    "ensure_directories",
    # Utils
    "encode_image_to_data_url",
    "encode_image_to_base64",
    "dummy_process_scan",
    "get_media_type",
    # Vision
    "analyze_scan_structure_with_ai",
    "describe_scan_with_ai",
    "remove_handwriting_from_scan",
    "build_clean_html_from_analysis",
    # Generators
    "generate_mc_from_analysis",
    "generate_cloze_from_analysis",
    "generate_qa_from_analysis",
    "update_leitner_progress",
    "get_next_review_items",
    # Export
    "generate_print_version_qa",
    "generate_print_version_cloze",
    "generate_print_version_mc",
    "generate_print_version_worksheet",
    # Visualization
    "generate_mindmap_data",
    "generate_mindmap_html",
    "save_mindmap_for_worksheet",
    # Legacy aliases
    "_get_api_key",
    "_encode_image_to_data_url",
]
