import { Exception } from './exception'; import { RequestOptions, RequestConfig, RequestHeaders, RequestDebugInfo, RequestSpec } from './types'; export declare const NETWORK_ERRORS: string[]; export declare const DEFAULT_REQUEST_CONFIG: RequestConfig; export declare class Request { config: RequestConfig; constructor(options?: Partial); get(url: string, options?: RequestOptions): Promise; post(url: string, options?: RequestOptions): Promise; put(url: string, options?: RequestOptions): Promise; delete(url: string, options?: RequestOptions): Promise; sendJson(method: string, url: string, options?: RequestOptions): Promise; send(method: string, url: string, options?: RequestOptions): Promise; sendRaw(method: string, url: string, options?: RequestOptions): Promise; protected prepareRequestSpec(method: string, url: string, options?: RequestOptions): Promise; protected prepareUrl(url: string, options: RequestOptions): string; protected inferContentTypeFromBody(body: any): string | null; protected mergeHeaders(...headers: RequestHeaders[]): { [key: string]: string; }; protected createErrorFromResponse(requestSpec: RequestSpec, res: Response): Promise; onRetry(_error: Error, _info: RequestDebugInfo): void; onError(_error: Error, _info: RequestDebugInfo): void; protected readErrorResponse(res: Response): Promise; } export declare class RequestFailedError extends Exception { constructor(requestSpec: RequestSpec, status: number, details: any); }