"""Python client for the football-data.org API v4."""

from football_api.client import AsyncFootballClient, FootballClient
from football_api.exceptions import (
    AuthenticationError,
    FootballAPIError,
    NotFoundError,
    RateLimitError,
    ServerError,
)
from football_api.models import (
    Area,
    AreaListResponse,
    AreaResponse,
    ChildArea,
    Coach,
    Competition,
    CompetitionListResponse,
    CompetitionResponse,
    Contract,
    Goal,
    Head2HeadResponse,
    Match,
    MatchListResponse,
    MatchTeam,
    PersonResponse,
    Player,
    Referee,
    ResultSet,
    Score,
    ScoreDetail,
    Scorer,
    ScorersResponse,
    Season,
    Standing,
    StandingsResponse,
    TableEntry,
    TeamListResponse,
    TeamResponse,
    Winner,
)

__all__ = [
    # Clients
    "FootballClient",
    "AsyncFootballClient",
    # Exceptions
    "FootballAPIError",
    "AuthenticationError",
    "NotFoundError",
    "RateLimitError",
    "ServerError",
    # Models
    "Area",
    "AreaListResponse",
    "AreaResponse",
    "ChildArea",
    "Coach",
    "Competition",
    "CompetitionListResponse",
    "CompetitionResponse",
    "Contract",
    "Goal",
    "Head2HeadResponse",
    "Match",
    "MatchListResponse",
    "MatchTeam",
    "PersonResponse",
    "Player",
    "Referee",
    "ResultSet",
    "Score",
    "ScoreDetail",
    "Scorer",
    "ScorersResponse",
    "Season",
    "Standing",
    "StandingsResponse",
    "TableEntry",
    "TeamListResponse",
    "TeamResponse",
    "Winner",
]
