from __future__ import annotations

"""Modular audio layer (intentionally inactive).

Current product requirement: no voiceovers, music, or SFX.
Wire TTS / music / SFX here later without changing ideation or Sora generation.
"""

from dataclasses import dataclass
from pathlib import Path


@dataclass
class AudioPlan:
    enabled: bool = False
    voiceover: bool = False
    music: bool = False
    sfx: bool = False


class AudioModule:
    """Placeholder for future audio generation / muxing."""

    def __init__(self, enabled: bool = False):
        self.enabled = enabled

    def plan(self) -> AudioPlan:
        return AudioPlan(enabled=self.enabled)

    def attach(self, video_path: Path, work_dir: Path) -> Path:
        """Return video unchanged while audio is disabled."""
        if not self.enabled:
            return video_path
        # Future: generate VO/music and ffmpeg-mux onto video_path
        raise NotImplementedError("Audio generation is not enabled yet")
