import { RwContext } from "../lib/router";
export type RequestContext<Params = any, Data = Record<string, any>> = {
    request: Request;
    params: Params;
    data: Data;
    headers: Headers;
    rw: RwContext<Data>;
    cf: ExecutionContext;
};
export declare const requestContext: RequestContext;
export declare function getRequestContext<Data = Record<string, any>, TParams = any>(): RequestContext<Data, TParams>;
export declare function runWithRequestContext<Result>(context: Record<string, any>, fn: () => Result): Result;
export declare function runWithRequestContextOverrides<Result>(overrides: Record<string, any>, fn: () => Result): Result;
