"""规则配置页聚合服务接口。"""

from abc import ABC, abstractmethod

from fastapi_modules.fastapi_leaudit.domian.vo.ruleConfigVo import RuleConfigPackListVO, RuleConfigPackVO


class IRuleConfigService(ABC):
    """规则配置页聚合服务接口。"""

    @abstractmethod
    async def ListPacks(self) -> list[RuleConfigPackVO]:
        """列出规则配置页所需的全部 pack。"""
        ...


    @abstractmethod
    async def ListPackSummaries(self) -> list[RuleConfigPackListVO]:
        """列出规则列表页所需的轻量 pack。"""
        ...

    @abstractmethod
    async def GetPack(self, PackId: int) -> RuleConfigPackVO:
        """获取单个规则配置 pack。"""
        ...
