///
/**
* @module server
*/
/** End Typedoc Module Declaration */
import { IncomingMessage } from 'http';
/**
* Request class that is passed into all middleware and controller methods to extract data from the
* client request.
*/
export declare class Request {
protected raw: IncomingMessage;
protected paramsMap: Map;
protected headersMap: Map;
/** @event Emitted when request body data is read */
static EVENT_DATA: string;
/** @event Emitted when request body read is completed */
static EVENT_END: string;
/** @event Emitted when response body read is completed */
static EVENT_ERROR: string;
constructor(raw?: IncomingMessage, paramsMap?: Map, headersMap?: Map);
/**
* Get the raw IncomingMessage
* @returns {IncomingMessage}
*/
getRaw(): IncomingMessage;
/**
* Get all headers as a Map
* @returns {Map}
*/
headers(): Map;
/**
* Get all route paramaters as a Map
* @returns {Map}
*/
params(): Map;
/**
* Helper function for converting Dictionary to Map
* @param dictionary
* @returns {Map}
*/
static extractMapFromDictionary(dictionary: Object): Map;
/**
* Extract the passed body object from the raw request
* @returns {Promise}
*/
getPayload(): Promise;
}