using ERPCore.Dtos.Categories;
using ERPCore.Dtos.Common;

namespace ERPCore.Services.Interfaces;

/// <summary>Category master business logic (docs/11-BACKEND-PHASE1.md §2.3).</summary>
public interface ICategoryService
{
    Task<PagedResponse<CategoryDto>> ListAsync(PageQuery query, CancellationToken ct = default);
    Task<IReadOnlyList<CategoryTreeDto>> GetTreeAsync(CancellationToken ct = default);
    Task<CategoryDto> CreateAsync(CreateCategoryRequest request, CancellationToken ct = default);
}
