package com.ruoyi.generator.service.front;

import java.util.List;
import com.ruoyi.generator.domain.front.FrontProjectGeneration;
import com.ruoyi.generator.domain.front.dto.AiGenerationTaskCreateRequest;
import com.ruoyi.generator.domain.front.dto.AiGenerationTaskStatusResponse;
import com.ruoyi.generator.domain.front.dto.AiQuotaResponse;

public interface IAiGenerationTaskService
{
    AiGenerationTaskStatusResponse createTask(Long userId, Long projectId, AiGenerationTaskCreateRequest request);
    AiGenerationTaskStatusResponse getTask(Long userId, Long projectId, Long taskId);
    AiGenerationTaskStatusResponse retryTask(Long userId, Long projectId, Long taskId);
    AiGenerationTaskStatusResponse cancelTask(Long userId, Long projectId, Long taskId);
    List<FrontProjectGeneration> listGenerations(Long userId, Long projectId);
    AiQuotaResponse getQuota(Long userId);
}
