namespace Application.Abstractions.Messaging;

/// <summary>
/// Query Handler를 나타냅니다.
/// </summary>
/// <typeparam name="TQuery">Query 타입</typeparam>
/// <typeparam name="TResponse">반환 타입</typeparam>
public interface IQueryHandler<in TQuery, TResponse> where TQuery : IQuery<TResponse>
{
    Task<TResponse> Handle(TQuery query, CancellationToken cancellationToken);
}