import type { IncomingMessage } from 'http';
import { Context, type DeclaroRequestScope } from '../context/context';
export interface Request extends IncomingMessage {
}
/**
 * Provide a request to a context that supports request scope.
 * The context must have all properties required by DeclaroRequestScope.
 *
 * @param context A context that includes DeclaroRequestScope properties
 * @param request The request to provide
 */
export declare function provideRequest<S extends DeclaroRequestScope>(context: Context<S>, request: Request): void;
/**
 * Get the request from the context.
 *
 * @deprecated You can now inject the request directly from Context<RequestScope>.
 * This function will be removed in a future version.
 * @param context The context to use for the request.
 * @returns
 */
export declare function useRequest(context: Context): any;
/**
 * Get the HTTP method of the request.
 *
 * @deprecated You can now inject the request directly from Context<RequestScope>.
 * This function will be removed in a future version.
 * @param context The context to use for the request.
 * @returns The HTTP method of the request, or undefined if not available.
 */
export declare function useRequestMethod(context: Context): any;
//# sourceMappingURL=request.d.ts.map