using ScrapperAPI.Dtos;
namespace ScrapperAPI.Interfaces;
public interface IExtractionCoordinator
{
///
/// Cria um run e inicia o processamento em background.
///
Task StartRunAsync(StartExtractionRequest request, CancellationToken ct);
///
/// Cria runs para varias sessions e enfileira para processamento.
/// Se SessionIds estiver vazio/nulo, roda para todas as sessions existentes.
///
Task> StartBulkRunsAsync(BulkStartExtractionRequest request, CancellationToken ct);
///
/// Retorna status em tempo real (se estiver rodando).
///
ExtractionRuntimeStatus GetRuntimeStatus(long runId);
}