"""Protocols for type hints to avoid circular imports."""

from typing import Protocol


class BoostableProtocol(Protocol):
    """Protocol defining the interface needed for cache recording."""

    @property
    def status_id(self) -> str | None:
        """Get the status ID."""
        ...

    @property
    def status_url(self) -> str:
        """Get the status URL."""
        ...

    @property
    def status_apid(self) -> str | None:
        """Get the status AP ID."""
        ...

    @property
    def attachments_hashes(self) -> list[str]:
        """Get the attachment hashes."""
        ...
