type Middleware = (request: Request, next: () => Promise) => Promise; type RouteHandler = (request: Request) => Response | Promise; declare function composeMiddleware(...middleware: Middleware[]): (handler: RouteHandler) => RouteHandler; declare function requestIdMiddleware(request: Request, next: () => Promise): Promise; declare function wrapRouteHandler(handler: T, middleware: Middleware[]): T; declare function applyMiddlewareToRoutes>(routes: T, middleware: Middleware[]): T; export type { Middleware, RouteHandler }; export { applyMiddlewareToRoutes, composeMiddleware, requestIdMiddleware, wrapRouteHandler };