import { HttpMethod, Middleware } from '../types';
import { WebServerContext } from '../middleware/context';
export declare type RouteHandler
= (context: WebServerContext) => void | Promise;
export declare type RouteArg = Route | Route[] | RouteGroup | RouteGroup[];
export interface Route {
method: HttpMethod;
path: string;
handler: RouteHandler;
isPublic?: boolean;
}
export interface RouteGroup {
routes: RouteArg;
pathPrefix?: string;
isPublic?: boolean;
}
export interface Router {
add(routes: RouteArg): any;
setAuthMiddleware(strategy: string, mw: Middleware): any;
routeIsPublicDefault: boolean;
}