///
import { IncomingMessage } from 'http';
import { ClientURL } from './ClientURL';
declare type APIMethod = 'getBalance' | 'createTask' | 'getTaskResult';
export declare type JSONResponseT = Record;
export declare enum ResponseContentType {
json = "application/json",
text = "text/plain"
}
export declare class HttpClientError extends Error {
}
export declare class HttpStatusError extends HttpClientError {
statusMessage?: string;
statusCode?: number;
constructor({ statusMessage, statusCode }: {
statusMessage?: string;
statusCode?: number;
});
}
export declare class HttpContentTypeError extends HttpClientError {
statusMessage?: string | undefined;
contentType?: string | null | undefined;
constructor(statusMessage?: string | undefined, contentType?: string | null | undefined);
}
export declare class JSONParseError extends Error {
message: string;
responseBody?: string | undefined;
constructor(message: string, responseBody?: string | undefined);
}
export declare enum HttpStatusCode {
ServiceUnavailable = 503
}
export declare type IsomorphicResponse = IncomingMessage | Response;
export declare class HttpClient {
private _agent?;
url: ClientURL;
timeout?: number;
requestHeaders: {
userAgent: string;
contentType: string;
};
constructor({ url, timeout, requestHeaders, }: {
url: ClientURL;
timeout?: number;
requestHeaders?: {
userAgent?: string;
contentType?: string;
};
});
post(method: APIMethod, data: string, cancellationController?: AbortController): Promise;
private createAgent;
private netAgentUse;
private responseStatusHandler;
private responseContentTypeHandler;
private responseBodyHandler;
private responseJSONHandler;
private requestHandler;
private postJSON;
}
export {};