package tech.easyflow.skill.imports;

import tech.easyflow.skill.entity.Skill;

import java.io.InputStream;
import java.math.BigInteger;
import java.util.List;

/**
 * Skill zip 导入服务。
 */
public interface SkillImportService {

    /**
     * 预览 zip 中的 Skill 包。
     *
     * @param inputStream zip 输入流
     * @return 导入预览
     */
    SkillImportPreview preview(InputStream inputStream);

    /**
     * 确认导入 zip 中的 Skill 包。
     *
     * @param inputStream zip 输入流
     * @param categoryId 目标分类 ID，可为空
     * @param overwriteDraft 是否覆盖同名草稿
     * @return 已保存 Skill 列表
     */
    List<Skill> importZip(InputStream inputStream, BigInteger categoryId, boolean overwriteDraft);
}

