from __future__ import annotations

from typing import TYPE_CHECKING

from aiohttp import web

if TYPE_CHECKING:
    from ..pipeline.container import Services
    from .middleware import Metrics

SERVICES_KEY: web.AppKey["Services"] = web.AppKey("gateway2_services")
METRICS_KEY: web.AppKey["Metrics"] = web.AppKey("gateway2_metrics")
CANCELLED_KEY: web.AppKey[set[str]] = web.AppKey("gateway2_cancelled_requests")

__all__ = ["SERVICES_KEY", "METRICS_KEY", "CANCELLED_KEY"]
