package tech.easyflow.ai.service;

import tech.easyflow.ai.vo.OfflineImpactCheckVo;

import java.math.BigInteger;

/**
 * 资源下线影响检查与解绑服务。
 */
public interface ResourceOfflineImpactService {

    /**
     * 检查工作流下线影响。
     *
     * @param workflowId 工作流 ID
     * @return 下线影响结果
     */
    OfflineImpactCheckVo checkWorkflowImpact(BigInteger workflowId);

    /**
     * 检查知识库下线影响。
     *
     * @param knowledgeId 知识库 ID
     * @return 下线影响结果
     */
    OfflineImpactCheckVo checkKnowledgeImpact(BigInteger knowledgeId);

    /**
     * 工作流下线后，静默解绑所有关联 Bot。
     *
     * @param workflowId 工作流 ID
     */
    void unbindWorkflowFromBots(BigInteger workflowId);

    /**
     * 知识库下线后，静默解绑所有关联 Bot。
     *
     * @param knowledgeId 知识库 ID
     */
    void unbindKnowledgeFromBots(BigInteger knowledgeId);
}
