"""
AI Processing - Modul für KI-gestützte Arbeitsblatt-Verarbeitung.

Dieses Modul bietet:
- Bildanalyse mit Vision APIs (OpenAI/Claude)
- Handschrift-Entfernung aus Scans
- Generierung von Übungsmaterialien (MC, Lückentext, Q&A)
- Leitner-System für Spaced Repetition
- Druck-Versionen für alle Materialtypen
- Mindmap-Generierung für Lernposter

Verwendung:
    from ai_processing import analyze_scan_structure_with_ai, generate_mc_from_analysis

    # Oder alle Funktionen:
    from ai_processing import *
"""

# Core utilities
from .core import (
    BASE_DIR,
    EINGANG_DIR,
    BEREINIGT_DIR,
    get_openai_api_key,
    get_anthropic_api_key,
    encode_image_to_data_url,
    encode_image_to_base64,
    ensure_directories,
    dummy_process_scan,
    get_vision_api,
)

# Analysis functions
from .analysis import (
    describe_scan_with_ai,
    analyze_scan_structure_with_ai,
)

# HTML generation
from .html_generator import (
    build_clean_html_from_analysis,
)

# Image processing
from .image_processor import (
    remove_handwriting_from_scan,
)

# Multiple Choice generator
from .mc_generator import (
    generate_mc_from_analysis,
)

# Cloze/Lückentext generator
from .cloze_generator import (
    generate_cloze_from_analysis,
)

# Q&A generator
from .qa_generator import (
    generate_qa_from_analysis,
)

# Leitner system
from .leitner import (
    update_leitner_progress,
    get_next_review_items,
)

# Print version generators
from .print_generator import (
    generate_print_version_qa,
    generate_print_version_cloze,
    generate_print_version_mc,
    generate_print_version_worksheet,
)

# Mindmap generator
from .mindmap import (
    generate_mindmap_data,
    generate_mindmap_html,
    save_mindmap_for_worksheet,
)

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

__all__ = [
    # Core
    "BASE_DIR",
    "EINGANG_DIR",
    "BEREINIGT_DIR",
    "get_openai_api_key",
    "get_anthropic_api_key",
    "encode_image_to_data_url",
    "encode_image_to_base64",
    "ensure_directories",
    "dummy_process_scan",
    "get_vision_api",
    # Analysis
    "describe_scan_with_ai",
    "analyze_scan_structure_with_ai",
    # HTML
    "build_clean_html_from_analysis",
    # Image
    "remove_handwriting_from_scan",
    # MC
    "generate_mc_from_analysis",
    # Cloze
    "generate_cloze_from_analysis",
    # Q&A
    "generate_qa_from_analysis",
    # Leitner
    "update_leitner_progress",
    "get_next_review_items",
    # Print
    "generate_print_version_qa",
    "generate_print_version_cloze",
    "generate_print_version_mc",
    "generate_print_version_worksheet",
    # Mindmap
    "generate_mindmap_data",
    "generate_mindmap_html",
    "save_mindmap_for_worksheet",
]
