import { Action } from './action'; import { Prehandler } from './prehandler'; import { Router as ExpressRouter, Application as ExpressApplication, Handler as ExpressHandler } from 'express'; interface RoutableConstructOptions { name: string; baseUrl: string; description: string; } export declare class Routable { constructor(instance: ExpressRouter | ExpressApplication, options: RoutableConstructOptions); instance: ExpressRouter | ExpressApplication; prehandlers: Prehandler[]; use(path: string, routable: Routable); use(path: string, handler: ExpressHandler); use(path: string, router: ExpressRouter); use(handler: ExpressHandler); use(router: ExpressRouter); get(url: string, action: ExpressHandler | Action); post(url: string, action: ExpressHandler | Action); put(url: string, action: ExpressHandler | Action); delete(url: string, action: ExpressHandler | Action); patch(url: string, action: ExpressHandler | Action); prehandle(key: string, prehandler: Prehandler); prehandle(prehandlers: Prehandler[]); handle(method: string, url: string, handler: any, action: ExpressHandler | Action) }