from __future__ import annotations

from typing import Mapping, Protocol, Sequence


class Router(Protocol):
    def choose(
        self,
        admissible: Sequence[str],
        *,
        session_id: str | None = None,
    ) -> tuple[str, Mapping[str, float], bool]: ...
