using System; using System.Collections.Generic; using System.Net.Http; using System.Threading; using System.Threading.Tasks; using Microsoft.Extensions.Logging; namespace Props.Shop.Framework { public interface IShop : IAsyncDisposable { string ShopName { get; } string ShopDescription { get; } string ShopModuleAuthor { get; } public IAsyncEnumerable Search(string query, Filters filters); public Task GetProductFromIdentifier(string identifier); ValueTask Initialize(string workspaceDir, ILoggerFactory loggerFactory); public SupportedFeatures SupportedFeatures { get; } } }