///
import { IncomingMessage, IncomingHttpHeaders, ServerResponse } from 'http';
import { Socket } from 'net';
import { Accepts } from 'accepts';
import { URL } from 'url';
import { WebApplication } from './WebApplication';
import { WebContext } from './WebContext';
import { Method } from '../utils/Method';
export declare class WebRequest {
readonly req: IncomingMessage;
protected readonly app: WebApplication;
ctx?: WebContext;
res?: ServerResponse;
protected rawParams: Record;
protected _accept?: Accepts;
protected memoizedURL?: URL;
protected IP?: string;
constructor(app: WebApplication, req: IncomingMessage);
get headers(): IncomingHttpHeaders;
set headers(values: IncomingHttpHeaders);
get url(): string;
set url(val: string);
get origin(): string;
get href(): string;
get method(): Method;
set method(val: Method);
get path(): string;
set path(path: string);
get querystring(): string;
set querystring(str: string);
get search(): string;
set search(str: string);
get host(): string;
get hostname(): string;
get URL(): URL;
get fresh(): boolean;
get stale(): boolean;
get idempotent(): boolean;
get socket(): Socket;
get charset(): string;
get contentLength(): number;
get protocol(): string;
get secure(): boolean;
get ips(): string[];
get ip(): string;
set ip(ip: string);
get subdomains(): string[];
get accept(): Accepts;
set accept(obj: Accepts);
accepts(...args: string[]): string | false | string[];
acceptsEncodings(...args: string[]): string | false;
acceptsCharsets(...args: string[]): string | false;
acceptsLanguages(...args: string[]): string | false;
is(...types: string[]): string | false | null;
get contentType(): string;
getHeader(field: string): void | string | string[];
protected inspect(): Record | undefined;
protected toJSON(): Record;
}