"""Data structures for word-level forced alignment results"""

# AUTOGENERATED! DO NOT EDIT! File to edit: ../nbs/forced_alignment_core.ipynb.

# %% auto #0
__all__ = ['ForcedAlignItem', 'ForcedAlignResult']

# %% ../nbs/forced_alignment_core.ipynb #cell-imports
from dataclasses import dataclass, field, asdict
from typing import Any, Dict, List, Optional

# %% ../nbs/forced_alignment_core.ipynb #cell-item
@dataclass
class ForcedAlignItem:
    """A single word-level alignment result."""
    text: str        # The aligned word (punctuation typically stripped by model)
    start_time: float  # Start time in seconds
    end_time: float    # End time in seconds

# %% ../nbs/forced_alignment_core.ipynb #cell-result
@dataclass
class ForcedAlignResult:
    """Standardized output for all forced alignment plugins."""
    items: List[ForcedAlignItem]                          # Word-level alignments
    metadata: Dict[str, Any] = field(default_factory=dict)  # Plugin-specific metadata
