using System;
using System.Threading;
using System.Threading.Tasks;
namespace BetterGenshinImpact.Service.GearTask.Execution;
///
/// GearTask 执行事件总线。
/// 负责在执行器与记录器、UI 投影等消费者之间解耦。
///
public interface IGearTaskEventBus
{
///
/// 发布一条执行事件。
///
ValueTask PublishAsync(GearTaskExecutionEvent evt, CancellationToken ct = default);
///
/// 注册一个事件消费者。
///
IDisposable Subscribe(IGearTaskEventConsumer consumer);
}
///
/// GearTask 执行事件消费者。
///
public interface IGearTaskEventConsumer
{
ValueTask ConsumeAsync(GearTaskExecutionEvent evt, CancellationToken ct = default);
}