from __future__ import annotations

from typing import Any, Protocol


class ConnectorProvider(Protocol):
    provider_id: str

    def connectors(self) -> list[dict[str, Any]]:
        ...

    def health(self) -> dict[str, Any]:
        ...

    def start_session(self, payload: dict[str, Any]) -> dict[str, Any]:
        ...

    def get_session(self, session_id: str) -> dict[str, Any]:
        ...

    def cancel_session(self, session_id: str) -> None:
        ...

    def logout(self, connection_id: str) -> None:
        ...

    def send(self, payload: dict[str, Any]) -> dict[str, Any]:
        ...
