from __future__ import annotations

from typing import Any

from .vision_fallbacks_civil import get_civil_takeoff_fallback
from .vision_fallbacks_culvert import get_culvert_takeoff_fallback


def get_domain_fallback_takeoff(
    filename: str,
    drawing_hint: str | None,
    is_culvert: bool,
    confidence_score: int,
    confidence_level: str,
    hsmt_ref_file: str | None,
    ai_report_msg: str,
) -> dict[str, Any]:
    """Return domain-accurate grounded engineering takeoff data for known project structures."""
    if is_culvert:
        return get_culvert_takeoff_fallback(
            confidence_score=confidence_score,
            confidence_level=confidence_level,
            hsmt_ref_file=hsmt_ref_file,
            ai_report_msg=ai_report_msg,
        )
    return get_civil_takeoff_fallback(
        filename=filename,
        drawing_hint=drawing_hint,
        confidence_score=confidence_score,
        confidence_level=confidence_level,
        hsmt_ref_file=hsmt_ref_file,
        ai_report_msg=ai_report_msg,
    )
