using System; using System.Collections.Generic; using System.Threading; using System.Threading.Tasks; using System.Windows.Media.Imaging; using XP.ImageProcessing.Core; namespace XplorePlane.Services { public interface IImageProcessingService : IDisposable { IReadOnlyList GetAvailableProcessors(); IReadOnlyList GetProcessorParameters(string processorName); ImageProcessorBase GetProcessor(string processorName); string GetProcessorDisplayName(string processorName); void RegisterProcessor(string name, ImageProcessorBase processor); Task ProcessImageAsync( BitmapSource source, string processorName, IDictionary parameters, IProgress progress = null, CancellationToken cancellationToken = default); } }