///
import { IncomingHttpHeaders } from 'http';
import { Attachments } from './Attachment';
import { ILogger, IResolver } from 'agentstack';
import { Identity } from '../utils/Identity';
import { WebApplicationSettings } from './WebApplicationSettings';
export interface WebRequest extends IResolver {
readonly identity: Identity;
readonly logger: ILogger;
readonly settings: T;
readonly state: any;
readonly resolver: IResolver;
readonly ip: string;
readonly url: string;
readonly href: string;
readonly publicUrl: string;
readonly origin: string;
readonly protocol: string;
readonly hostname: string;
readonly port: number;
readonly path: string;
readonly method: string;
readonly params: any;
readonly query: any;
readonly headers: IncomingHttpHeaders;
readonly cookies: any;
readonly signedCookies: any;
readonly type: string;
readonly length: number | null;
readonly body: any | null;
readonly attachments: Attachments;
fingerprint(): any;
data(): Promise;
json(): Promise;
text(): Promise;
form(): Promise;
accepts(...type: Array): string | false;
acceptsEncodings(...encoding: Array): string | Array | false;
acceptsCharsets(...charset: Array): string | Array | false;
acceptsLanguages(...lang: Array): string | Array | false;
is(...type: Array): string | false | null;
range(max: number): any;
get(name: string): number | string | string[] | undefined;
}