"""Read models for the Core reference-data catalog."""
from __future__ import annotations

from pydantic import BaseModel


class CountryResponse(BaseModel):
    code: str
    name: str
    official_name: str | None = None
    flag: str
    calling_codes: list[str]


class SubdivisionResponse(BaseModel):
    code: str
    name: str
    type: str


class CurrencyResponse(BaseModel):
    code: str
    name: str
    numeric_code: str | None = None
    decimal_digits: int | None = None


class LanguageResponse(BaseModel):
    code: str
    alpha_3: str | None = None
    name: str


class TimezoneResponse(BaseModel):
    id: str
    label: str
    utc_offset_minutes: int


class ReferenceDataMetaResponse(BaseModel):
    catalog_version: str
    country_count: int
    currency_count: int
    language_count: int
    timezone_count: int
