import type { Method } from './method';
import type { Logger, Result } from './types';
export declare class Context {
    readonly request: Request;
    readonly logger: Logger;
    constructor(request: Request, logger?: Logger);
    get url(): URL;
    get method(): Method;
    get pathname(): string;
    respond(body?: BodyInit | null, headers?: HeadersInit, status?: number, statusText?: string): Response;
    redirect(location: string | URL, status?: number): Response;
    json<T>(): T;
    json<T>(body?: T, init?: ResponseInit): Response;
    text(body: string, init?: ResponseInit): Response;
    render(result: Result): Response;
    abort(code?: number, message?: string, headers?: HeadersInit): Response;
    log(...args: any[]): void;
    warn(...args: any[]): void;
    error(...args: any[]): void;
}
