using PowderCoating.Application.DTOs.AI;

namespace PowderCoating.Application.Interfaces;

public interface IAiCatalogPriceCheckService
{
    /// <summary>
    /// Analyzes the provided catalog items against the shop's operating costs and returns
    /// a verdict for each item. Items are batched into groups of 25 to stay within Claude's
    /// context limits. Returns null results for any item that could not be analyzed.
    /// </summary>
    Task<List<CatalogItemPriceVerdict>> AnalyzeAsync(
        List<CatalogItemForPriceCheck> items,
        ShopOperatingCostSummary costs,
        CancellationToken cancellationToken = default);
}
