using System.Threading.Tasks; namespace DataConnection.REST.Interfaces { /// /// Interface for a generic REST service client. /// public interface IRestServiceClient { /// /// Sends a GET request to the specified URI. /// /// The type of the object to deserialize the response content to. /// The URI the request is sent to. /// Cancellation token. /// The deserialized response content. Task GetAsync(string requestUri, CancellationToken cancellationToken = default); /// /// Sends a POST request to the specified URI. /// /// The type of the request object. /// The type of the object to deserialize the response content to. /// The URI the request is sent to. /// The HTTP request content sent to the server. /// Cancellation token. /// The deserialized response content. Task PostAsync(string requestUri, TRequest payload, CancellationToken cancellationToken = default); // Add other methods as needed (PUT, DELETE, PATCH, etc.) // Consider adding methods for handling raw HttpResponseMessage or string responses } }