using Grand.Business.Core.Utilities.Catalog;
using Grand.Infrastructure.Plugins;

namespace Grand.Business.Core.Interfaces.Catalog.Tax;

/// <summary>
///     Provides an interface for creating tax providers
/// </summary>
public interface ITaxProvider : IProvider
{
    /// <summary>
    ///     Gets tax rate
    /// </summary>
    /// <param name="calculateTaxRequest">Tax calculation request</param>
    /// <returns>Tax</returns>
    Task<TaxResult> GetTaxRate(TaxRequest calculateTaxRequest);
}