from __future__ import annotations from typing import Protocol class CacheStore(Protocol): async def hgetall(self, key: str, /) -> dict[str, str]: ... async def hset(self, key: str, /, mapping: dict[str, str]) -> int: ... async def hincrby(self, key: str, field: str, amount: int = 1, /) -> int: ... async def expire(self, key: str, ttl_seconds: int, /) -> int: ... async def delete(self, *keys: str) -> int: ... async def sadd(self, key: str, *members: str) -> int: ... async def smembers(self, key: str, /) -> set[str]: ...