package tech.easyflow.skill.imports;

import tech.easyflow.skill.entity.Skill;

import java.util.List;
import org.springframework.web.multipart.MultipartFile;

/**
 * 标准 Skill ZIP 导入服务。
 */
public interface SkillImportService {

    /**
     * 上传并创建可单次确认的导入预览。
     *
     * @param file 标准 Skill ZIP
     * @return 导入预览与 importToken
     */
    SkillImportPreview preview(MultipartFile file);

    /**
     * 使用单次 importToken 确认导入。
     *
     * @param request 导入确认请求
     * @return 已保存 Skill
     */
    List<Skill> confirm(SkillImportConfirmRequest request);

    /**
     * 取消导入预览并清理临时包。
     *
     * @param importToken 导入令牌
     */
    void cancel(String importToken);

}
