import { Express } from "express-serve-static-core";
import { ClassType } from "../context/base.object";
import { SaveLogger } from './logger';
import { RouteConfig } from './route.config';
import { RequestData } from './reqest.data';
import { BaseWrapper } from '../wrapper/base.wrapper';
import { GroupRoutesItem } from '../model/group.routes.item';
/**
 * 自动路由注册服务
 */
export declare class RoutesRegister {
    private readonly app;
    private readonly routeClass;
    private readonly routes;
    private readonly wrappers?;
    private readonly logger?;
    private static _router?;
    get router(): any;
    private readonly groupMap;
    private readonly groupRoutes;
    private readonly basePaths;
    getRoutes(): RequestData[];
    getGroupRoutes(): Array<GroupRoutesItem>;
    getBaseUrl(route: RequestData): string;
    /** 获取自定义的 wrapper */
    getCustomWrapper(name: string): ClassType<BaseWrapper<any>> | undefined;
    /**
     * @param routes 需要自动注册路由信息数组
     */
    constructor(app: Express, routeClass: ClassType<RouteConfig>[], routes?: RequestData[], wrappers?: Map<string, ClassType<BaseWrapper<any>>> | undefined, logger?: SaveLogger | undefined);
    private getController;
    /** 注册路由 */
    register(): void;
    /** 注册 */
    private registerRoute;
}
