using RoslynBridge.WebApi.Models;
namespace RoslynBridge.WebApi.Services;
///
/// Interface for communicating with the Roslyn Bridge Visual Studio plugin
///
public interface IRoslynBridgeClient
{
///
/// Execute a query against the Roslyn Bridge server
///
/// The query request
/// Optional port of specific VS instance to target
/// Cancellation token
/// The query response
Task ExecuteQueryAsync(RoslynQueryRequest request, int? instancePort = null, CancellationToken cancellationToken = default);
///
/// Check if the Roslyn Bridge server is healthy
///
/// Optional port of specific VS instance to check
/// Cancellation token
/// True if healthy, false otherwise
Task IsHealthyAsync(int? instancePort = null, CancellationToken cancellationToken = default);
}