from __future__ import annotations from typing import Protocol, runtime_checkable @runtime_checkable class ChannelConfigProtocol(Protocol): @property def channel_id(self) -> str: ... @property def channel_type(self) -> str: ... def resolve_account(self, account_id: str) -> dict | None: ... def is_enabled(self) -> bool: ... def is_configured(self) -> bool: ... def list_account_ids(self) -> list[str]: ... def default_account_id(self) -> str: ... def disabled_reason(self) -> str: ... def unconfigured_reason(self) -> str: ... def describe_account(self) -> dict: ... def resolve_allow_from(self) -> list[str]: ... def has_configured_state(self) -> bool: ...