import { RequestHandler, RouterOptions } from 'express';
import { RequestHandlerParams } from 'express-serve-static-core';
interface Middleware {
    before?: RequestHandlerParams[];
    after?: RequestHandlerParams[];
}
export interface ControllerMeta {
    path: string;
    middleware: Middleware;
    routerOptions: RouterOptions;
}
export declare function getControllerMeta(ControllerConstructor: any): ControllerMeta | undefined;
export declare function setControllerMeta(ControllerConstructor: any, meta: ControllerMeta): void;
export declare function controller(path: string, middleware?: RequestHandler[] | Middleware, routerOptions?: RouterOptions): (target: any) => void;
export {};
//# sourceMappingURL=controller.d.ts.map