"""Revisions domain - Protocols for dependencies this domain NEEDS."""
from __future__ import annotations
from typing import Optional, Protocol
from uuid import UUID


class ProjectFacade(Protocol):
    async def get_project_workspace_id(self, project_id: UUID) -> Optional[UUID]: ...
    async def get_project_repo_full_name(self, project_id: UUID) -> Optional[str]: ...


class GitHubClient(Protocol):
    async def compare_commits(self, repo: str, base: str, head: str) -> "DiffInfo": ...
