"""Laundromatic CLI module."""

import typer

from laundromatic import __version__

app = typer.Typer(
    name="laundromatic",
    help="Anti-forensics toolkit for deepfake detection benchmarking.",
    no_args_is_help=True,
)


def version_callback(value: bool) -> None:
    """Print version and exit."""
    if value:
        typer.echo(f"laundromatic {__version__}")
        raise typer.Exit()


@app.callback()
def main(
    version: bool | None = typer.Option(  # noqa: ARG001
        None,
        "--version",
        "-V",
        callback=version_callback,
        is_eager=True,
        help="Show version and exit.",
    ),
) -> None:
    """Laundromatic: Anti-forensics toolkit for deepfake detection benchmarking."""


# Placeholder subcommands - will be replaced during migration
@app.command()
def image() -> None:
    """Image transform commands (not yet migrated)."""
    typer.echo("Image transforms not yet migrated. See Epic 0.2.")
    raise typer.Exit(1)


@app.command()
def audio() -> None:
    """Audio transform commands (not yet migrated)."""
    typer.echo("Audio transforms not yet migrated. See Epic 0.2.")
    raise typer.Exit(1)


@app.command()
def video() -> None:
    """Video transform commands (not yet migrated)."""
    typer.echo("Video transforms not yet migrated. See Epic 0.2.")
    raise typer.Exit(1)


@app.command()
def batch() -> None:
    """Batch processing commands (not yet migrated)."""
    typer.echo("Batch processing not yet migrated. See Epic 0.2.")
    raise typer.Exit(1)
