import * as types from './types'; import { IContainer } from './../di/resolvers'; import { IRequestContext } from "../pipeline/common"; export declare abstract class AbstractHttpCommand { context: IRequestContext; private static METRICS_NAME; container: IContainer; constructor(context: IRequestContext); /** * Set metric tags for this command * * @protected * @param {any} tags * * @memberOf AbstractHttpCommand */ protected setMetricTags(verb: string, uri: string): void; post(url: string, data: any, prepareRequest?: (req: types.IHttpCommandRequest) => void): Promise; get(url: string, prepareRequest?: (req: types.IHttpCommandRequest) => void): Promise; delete(url: string, prepareRequest?: (req: types.IHttpCommandRequest) => void): Promise; put(url: string, data: any, prepareRequest?: (req: types.IHttpCommandRequest) => void): Promise; /** * Send a http request * * @protected * @param {string} http verb to use * @param {string} url * @param {(req:types.IHttpCommandRequest) => void} [prepareRequest] Callback to configure request before sending * @returns request response */ protected sendRequest(verb: string, url: string, prepareRequest?: (req: types.IHttpCommandRequest) => void): Promise; private handleError(msg, err?); }