import { HTTPRequest } from "./http-request"; import { HTTPResponse } from "./http-response"; import { HTTPAdditionalOptions } from "./types"; import { Class } from "@autometa/types"; export let defaultClient: Class; export abstract class HTTPClient { static Use(): (target: Class) => void; static Use(client?: Class) { if (client) { defaultClient = client; } return function (target: Class) { defaultClient = target; }; } abstract request( request: HTTPRequest, options?: HTTPAdditionalOptions ): Promise>; }