"""Speaker diarization infrastructure module.

Provides speaker diarization using pyannote.audio (offline) and diart (streaming).
"""

from noteflow.infrastructure.diarization.assigner import (
    assign_speaker,
    assign_speakers_batch,
)
from noteflow.infrastructure.diarization.dto import SpeakerTurn
from noteflow.infrastructure.diarization.engine import DiarizationEngine
from noteflow.infrastructure.diarization.session import DiarizationSession

__all__ = [
    "DiarizationEngine",
    "DiarizationSession",
    "SpeakerTurn",
    "assign_speaker",
    "assign_speakers_batch",
]
