///
///
import * as internal from 'node:stream';
import { HttpRequestHeaders, HttpRequestQuery, IHttpContext, IHttpCookies } from '../../http/context.js';
import { IHttpResponse } from '../../http/response.js';
import { IHttpFile, ITestHttpContext, ITestHttpResponse } from './contracts.js';
export declare class TestHttpContext implements IHttpContext {
protected ctx: ITestHttpContext;
query: HttpRequestQuery;
headers: HttpRequestHeaders;
cookies: IHttpCookies;
params: {};
willRender: boolean;
state: Record;
response: ITestHttpResponse;
aborted: boolean;
protected _reply: IHttpResponse | null;
parseHeaders(headers: any): any;
constructor(ctx: ITestHttpContext);
modify(ctx: ITestHttpContext): void;
setHeader(k: string, v: string | string[]): void;
get host(): string;
get path(): string;
get method(): string;
createUrl(): import("url").URL;
get url(): URL;
get href(): string;
get origin(): string;
get protocol(): string;
get secure(): boolean;
get ip(): string;
get ips(): string[];
get body(): any;
get files(): Record;
is(...types: string[]): string | null | false;
accepts(...types: string[]): string | false;
getHeader(key: string): string | undefined;
json(data: any, status?: number): void;
noContent(): void;
created(): void;
throw(status: number, message: string): never;
abort(...args: any): void;
/**
* ununsed
* @param response
*/
reply(response: IHttpResponse): void;
stream(stream: internal.Readable, mime?: string): void;
redirect(url: string, alt?: string | undefined): void;
view(template: string, data?: {}, status?: number): Promise;
shouldRender(): boolean;
set(key: any, value: T): T;
put(key: any, value: T): T;
value(key: any): T | undefined;
}