import type { IncomingMessage, ServerResponse } from 'http';
import { Context, type AppScope, type ContextMiddleware, type RequestScope } from '../context/context';
export declare function useRequestMiddleware(context: Context<AppScope>): ContextMiddleware<import("..").RequestContext>[];
export declare function provideRequestMiddleware<C extends Context>(context: C, ...middleware: ContextMiddleware<Context<RequestScope>>[]): ContextMiddleware<import("..").RequestContext>[];
export type NodeListener = (req: IncomingMessage, res: ServerResponse) => void;
export type NodePromisifiedHandler = (req: IncomingMessage, res: ServerResponse) => Promise<any>;
export type NodeMiddleware = (req: IncomingMessage, res: ServerResponse, next: (err?: Error) => any) => any;
export type AllNodeMiddleware = NodeListener | NodePromisifiedHandler | NodeMiddleware;
export declare function useNodeMiddleware(context: Context<AppScope>): AllNodeMiddleware[];
export declare function provideNodeMiddleware(context: Context<AppScope>, ...middleware: AllNodeMiddleware[]): AllNodeMiddleware[];
//# sourceMappingURL=request-context.d.ts.map