import type { IRequest } from "./express/request"; import type { IResponse } from "./express/response"; export type { IRequest, IResponse }; export type NextFunction = (error?: any) => void; export type RouteMiddleware = (error: any, req: IRequest, res: IResponse, next: NextFunction) => Promise | void; export type RouteController = (req: IRequest, res: IResponse, next: NextFunction) => Promise | void; declare class Route extends Function { controllers: (RouteController | RouteMiddleware | Function)[]; constructor(); _call(...args: any[]): Promise; /** * Express like route.ANY() without path filter. * @deprecated use `.use()` instead. */ handle(...controllers: (RouteController | Function)[]): this; /** * Express like route.use() */ use(...middlewares: (RouteMiddleware | RouteController | Function)[]): this; } export declare const Router: () => Route;