import express from "express"; import { IMiddlewareCollection } from "../middleware/IMiddleware"; export declare class RouteGroup { routes: (Route | RouteGroup)[]; name: any; middlewares: string[]; parentGroup: RouteGroup; constructor(name: string); populate(route: (Route | RouteGroup), params: string): void; middleware(middleware: string[]): void; } export declare class Route { prefixes: string[]; path: string; method: string; handler: Function | string; middlewares: Array; parentGroup: RouteGroup; constructor(path: string, method: string, handler: Function | string); prefix(path: string): void; getPath(): string; middleware(middlewares: Array): void; } export declare class Router { routes: (Route | RouteGroup)[]; openedGroups: Array; private router; private middlewareCollection; static instance: Router; setMiddlewares(middlewareCollection: IMiddlewareCollection): void; private getRecentGroup; private route; private _get; private _static; private _group; static static(path: string, dir: string): Route; static group(name: string, cb: Function): RouteGroup; static get(path: string, handler: Function | string): Route; private getMiddleware; private parseRoute; run(): void; getRouter(): express.Router; static create(): Router; static getInstance(): Router; }