```python

def team_headcount(chart: dict, name: str) -> int:
    if not isinstance(chart, dict):
        raise ValueError("Chart must be a mapping")
    if name not in chart:
        raise ValueError("Name must be a key of the chart")
    if not isinstance(chart[name], list):
        raise ValueError("Reports must be a list")
    if not all(isinstance(report, str) for report in chart[name]):
        raise ValueError("Reports must must a string")

    head = 1
    for report in chart[name]:
        if report not in chart
        heads += team_headcount(chart, report)
    return heads
```