class RestClient implements AutoCloseableAsync {

	public <M extends MessageHeaders<EmptyRequestBody, P, EmptyMessageParameters>, P extends ResponseBody> CompletableFuture<P> sendRequest(
			String targetAddress,
			int targetPort,
			M messageHeaders) throws IOException {
		return sendRequest(targetAddress, targetPort, messageHeaders, EmptyMessageParameters.getInstance(), EmptyRequestBody.getInstance());
	}

	public  RestClient(RestClientConfiguration configuration, Executor executor);

}