import type { IncomingMessage, ServerResponse } from 'http';
import { Context, type ContextMiddleware, type DeclaroScope } from '../context/context';
/**
 * Get the request middleware for the current context.
 * @param context The context to retrieve middleware from.
 * @returns An array of request middleware functions.
 * @deprecated Use `context.scope.requestMiddleware` instead.
 */
export declare function useRequestMiddleware<S extends DeclaroScope>(context: Context<S>): S["requestMiddleware"];
export declare function provideRequestMiddleware<S extends DeclaroScope>(context: Context<S>, ...middleware: ContextMiddleware<Context>[]): ContextMiddleware<Context<any>>[];
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<S extends DeclaroScope>(context: Context<S>): S["nodeMiddleware"];
export declare function provideNodeMiddleware<S extends DeclaroScope>(context: Context<S>, ...middleware: AllNodeMiddleware[]): AllNodeMiddleware[];
//# sourceMappingURL=request-context.d.ts.map