///
import { IncomingMessage as HttpIncomingMessage, ServerResponse as HttpServerResponse, ClientRequest as HttpClientRequest } from 'http';
import { WebServerContext } from '../middleware';
export interface IncomingMessage
extends HttpIncomingMessage {
context: WebServerContext;
body: TBody;
originalUrl: string;
pathname: string;
params: any;
search: any;
query: any;
host: string;
hostname: string;
}
export interface ServerResponse extends HttpServerResponse {
json(data: object, code?: number, headers?: {
[name: string]: string | number;
}, replacer?: (key: string, value: any) => any, spaces?: string | number, escape?: boolean): any;
send(data: any, code?: number, headers?: {
[name: string]: string | number;
}): any;
sendError(code: number, data: any): any;
}
export interface ClientRequest extends HttpClientRequest {
}
export declare type HttpMethod = 'CHECKOUT' | 'COPY' | 'DELETE' | 'GET' | 'HEAD' | 'LOCK' | 'MERGE' | 'MKACTIVITY' | 'MKCOL' | 'MOVE' | 'M-SEARCH' | 'NOTIFY' | 'OPTIONS' | 'PATCH' | 'POST' | 'PURGE' | 'PUT' | 'REPORT' | 'SEARCH' | 'SUBSCRIBE' | 'TRACE' | 'UNLOCK' | 'UNSUBSCRIBE';