"""Usage tracking skeleton for billing and quota enforcement."""

from __future__ import annotations

from datetime import datetime, timezone
from typing import Any


class UsageTracker:
    """Record coarse-grained usage events for later persistence."""

    def record(self, *, tenant_id: str, app_id: str, metric: str, value: float = 1.0, metadata: dict[str, Any] | None = None) -> dict[str, Any]:
        return {
            "tenant_id": tenant_id,
            "app_id": app_id,
            "metric": metric,
            "value": value,
            "metadata": metadata or {},
            "recorded_at": datetime.now(timezone.utc).isoformat(),
        }

