import type { IncomingMessage, ServerResponse } from "node:http"; import type { AsyncLocalStorage } from "node:async_hooks"; import httpAssert from "http-assert"; import { Request } from "./request.mts"; import { Response } from "./response.mts"; import { Cookies } from "./cookies.mts"; import type { ServerTiming } from "./server-timing.mts"; import type { OversizedBodyStrategy } from "./types.mts"; export declare class Context { req: IncomingMessage; res: ServerResponse; params: Record; request: Request; response: Response; cookies: Cookies; signal: AbortSignal; abortController: AbortController; assert: typeof httpAssert; private queryCache; private asyncLocalStorage; private trustProxy; constructor(req: IncomingMessage, res: ServerResponse, params: Record, timing: ServerTiming, als: AsyncLocalStorage | null, abortController: AbortController, bodyLimit: string | number | false, trustProxy: boolean, onWriteHead?: () => void, strictJsonContentType?: boolean, oversizedBodyStrategy?: OversizedBodyStrategy); get query(): Record; get store(): unknown; get ip(): string | undefined; set(header: string, value: string): void; setType(type: string): void; setStatus(code: number): void; throw(status: number, message?: string, code?: string): never; json(data: unknown): void; pipeline(source: NodeJS.ReadableStream, ...transforms: NodeJS.ReadWriteStream[]): Promise; cacheControl(type: "public" | "private", ttl?: number | string): void; } export declare function createContextClass(extensions: Record): typeof Context;