from __future__ import annotations

from typing import Protocol

from app.soat_tariffs.domain.models import SoatCatalog, SoatCatalogEntry


class SoatTariffCatalogPort(Protocol):
    def load(self, year: int) -> SoatCatalog: ...

    def find_exact(self, year: int, code: str) -> SoatCatalogEntry | None: ...

    def validate_all(self) -> dict[int, str]: ...
