/*
* Tribufu API
*
* REST API to access Tribufu services.
*
* The version of the OpenAPI document: 1.1.0
* Contact: contact@tribufu.com
* Generated by: https://github.com/openapitools/openapi-generator.git
*/
using System;
using System.Threading.Tasks;
namespace Tribufu.Generated.Client
{
///
/// Contract for Asynchronous RESTful API interactions.
///
/// This interface allows consumers to provide a custom API accessor client.
///
public interface IAsynchronousClient
{
///
/// Executes a non-blocking call to some using the GET http verb.
///
/// The relative path to invoke.
/// The request parameters to pass along to the client.
/// Per-request configurable settings.
/// Cancellation Token to cancel the request.
/// The return type.
/// A task eventually representing the response data, decorated with
Task> GetAsync(string path, RequestOptions options, IReadableConfiguration configuration = null, System.Threading.CancellationToken cancellationToken = default(global::System.Threading.CancellationToken));
///
/// Executes a non-blocking call to some using the POST http verb.
///
/// The relative path to invoke.
/// The request parameters to pass along to the client.
/// Per-request configurable settings.
/// Cancellation Token to cancel the request.
/// The return type.
/// A task eventually representing the response data, decorated with
Task> PostAsync(string path, RequestOptions options, IReadableConfiguration configuration = null, System.Threading.CancellationToken cancellationToken = default(global::System.Threading.CancellationToken));
///
/// Executes a non-blocking call to some using the PUT http verb.
///
/// The relative path to invoke.
/// The request parameters to pass along to the client.
/// Per-request configurable settings.
/// Cancellation Token to cancel the request.
/// The return type.
/// A task eventually representing the response data, decorated with
Task> PutAsync(string path, RequestOptions options, IReadableConfiguration configuration = null, System.Threading.CancellationToken cancellationToken = default(global::System.Threading.CancellationToken));
///
/// Executes a non-blocking call to some using the DELETE http verb.
///
/// The relative path to invoke.
/// The request parameters to pass along to the client.
/// Per-request configurable settings.
/// Cancellation Token to cancel the request.
/// The return type.
/// A task eventually representing the response data, decorated with
Task> DeleteAsync(string path, RequestOptions options, IReadableConfiguration configuration = null, System.Threading.CancellationToken cancellationToken = default(global::System.Threading.CancellationToken));
///
/// Executes a non-blocking call to some using the HEAD http verb.
///
/// The relative path to invoke.
/// The request parameters to pass along to the client.
/// Per-request configurable settings.
/// Cancellation Token to cancel the request.
/// The return type.
/// A task eventually representing the response data, decorated with
Task> HeadAsync(string path, RequestOptions options, IReadableConfiguration configuration = null, System.Threading.CancellationToken cancellationToken = default(global::System.Threading.CancellationToken));
///
/// Executes a non-blocking call to some using the OPTIONS http verb.
///
/// The relative path to invoke.
/// The request parameters to pass along to the client.
/// Per-request configurable settings.
/// Cancellation Token to cancel the request.
/// The return type.
/// A task eventually representing the response data, decorated with
Task> OptionsAsync(string path, RequestOptions options, IReadableConfiguration configuration = null, System.Threading.CancellationToken cancellationToken = default(global::System.Threading.CancellationToken));
///
/// Executes a non-blocking call to some using the PATCH http verb.
///
/// The relative path to invoke.
/// The request parameters to pass along to the client.
/// Per-request configurable settings.
/// Cancellation Token to cancel the request.
/// The return type.
/// A task eventually representing the response data, decorated with
Task> PatchAsync(string path, RequestOptions options, IReadableConfiguration configuration = null, System.Threading.CancellationToken cancellationToken = default(global::System.Threading.CancellationToken));
}
}