using Minint.Core.Models;

namespace Minint.Core.Services;

public interface IImageEffectsService
{
    /// <summary>
    /// Adjusts contrast of the document by transforming its palette colors.
    /// <paramref name="factor"/> of 0 = all gray, 1 = no change, >1 = increased contrast.
    /// </summary>
    void ApplyContrast(MinintDocument doc, double factor);

    /// <summary>
    /// Converts the document to grayscale by transforming its palette colors
    /// using the luminance formula: 0.299R + 0.587G + 0.114B.
    /// </summary>
    void ApplyGrayscale(MinintDocument doc);
}
