from dataclasses import dataclass
from typing import Optional


@dataclass
class Segment:
    start: float
    end: float
    text: str = ""


@dataclass
class PipelineResult:
    """Resultado de la pipeline.

    Campos opcionales porque en ciertos modos (por ejemplo `--srt-only`) no se
    generan artefactos como WAVs o vídeos.
    """
    workdir: str
    dub_wav: Optional[str] = None
    replaced_video: Optional[str] = None
    burned_video: Optional[str] = None
    srt_translated: Optional[str] = None
    srt_original: Optional[str] = None
