import { HttpStatus } from './constants';
export interface ParamConfig {
    name: string;
    index: number;
    type: string;
    required: boolean;
    defaultValue?: any;
}
export interface RouterConfig {
    method?: string;
    pattern?: string;
    action: string;
    actionParams?: Array<ParamConfig>;
    responseType?: string;
    responseStatus?: HttpStatus;
}
export interface ControllerConfig {
    controller?: Function;
    baseUrl?: string;
    routes?: Array<RouterConfig>;
    injectModels?: Map<string, string>;
    responseType?: string;
}
declare class RouterManager {
    private config;
    constructor();
    setRouteConfig(controller: Function, routeConfig: RouterConfig): void;
    setParamVariable(controller: Function, action: string, config: ParamConfig): void;
    setInjectModel(controller: Function, name: string, propertyKey: string): void;
    setControllerConfig(controller: Function, config: ControllerConfig): void;
    private getControllerConfig;
    private getRouteConfig;
    mountRoutes(router: any, models?: any): void;
}
declare const _default: RouterManager;
export default _default;
