import { Context } from './context'; import { Group } from './group'; declare type genGroup = (e: Echo) => Group; export declare type handlerFunc = (ctx: Context) => any | Promise; export declare type middlewareFunc = (h: handlerFunc) => handlerFunc; declare type Router = { path: string; method: string; handler: handlerFunc; middleware: middlewareFunc[]; }; declare type Layer = { path: string; middleware: middlewareFunc[]; }; export declare type Context = Context; export { Group } from './group'; export declare class Echo { layers: Layer[]; routes: Router[]; constructor(); GET(path: string, h: handlerFunc, ...m: middlewareFunc[]): void; POST(path: string, h: handlerFunc, ...m: middlewareFunc[]): void; Any(path: string, h: handlerFunc, ...m: middlewareFunc[]): void; Static(prefix: string, root: string): void; Use(path: string | middlewareFunc, ...m: middlewareFunc[]): void; Group(prefix: string, ...m: middlewareFunc[]): Group; AddGroup(gg: genGroup): void; private Serve; Start(port?: number): void; }