import { AxiosInstance } from 'axios'; import { NodeHttpContext, NodeHttpAxiosConfig, NodeHttpConfig, NodeHttpRequestOptions, NodeHttpResponse, NodeHttpAxiosInterceptors } from './TYPES'; /** * HTTP Client Class. * * @class * @typedef {NodeHttp} */ export declare class NodeHttp { /** * nodeHttpConfig initialized at NodeHttp instance level for all API requests. */ nodeHttpConfig: NodeHttpConfig; /** * NodeHttpContext instance associated with NodeHttp instance. */ context: NodeHttpContext; /** * Axios client associated with NodeHttp instance. */ client: AxiosInstance; /** * Axios interceptors attached to NodeHttp instance for easier use. */ interceptors: NodeHttpAxiosInterceptors; /** * Creates an instance of NodeHttp. * * @constructor * @param [nodeHttpAxiosConfig] axios and axios-retry config to be associated with the axios client. Defaults to {@link DefaultNodeHttpConfig} * @param [nodeHttpConfig] nodeHttpConfig to be initialized at NodeHttp instance level for all API requests. Defaults to {@link DefaultNodeHttpConfig} */ constructor(nodeHttpAxiosConfig?: NodeHttpAxiosConfig, nodeHttpConfig?: NodeHttpConfig); /** * Method to make API call. * * @async * @param options Axios request options to define the API call. * @throws {NodeHttpError} * @returns */ request(options: NodeHttpRequestOptions): Promise; /** @ignore */ _useDefaultInterceptors(): void; /** @ignore */ _sanitizeOptions(options: NodeHttpRequestOptions): NodeHttpRequestOptions; }