from __future__ import annotations from typing import Protocol, runtime_checkable @runtime_checkable class ChannelDirectoryProtocol(Protocol): async def self_info(self) -> dict: ... async def list_peers(self, cached: bool = True) -> list[dict]: ... async def list_groups(self, cached: bool = True) -> list[dict]: ... async def list_group_members(self, group_id: str) -> list[dict]: ...