using System.Threading; using System.Threading.Tasks; namespace BililiveRecorder.ToolBox { public interface ICommandHandler where TRequest : ICommandRequest where TResponse : IResponseData { string Name { get; } Task> Handle(TRequest request, CancellationToken cancellationToken, ProgressCallback? progress); } }