import { APIRequestContext } from '../context/api.request.context';
import { BaseObject } from '../context/base.object';
import { RequestData } from '../base/reqest.data';
import { Result } from "../base/result";
import { WrapperResult } from "../wrapper/base.wrapper";
import { GroupRoutesItem } from '../model/group.routes.item';
/**
 * controller 基类
 */
export declare class BaseController extends BaseObject<APIRequestContext> {
    /** 获取当前 Server 中注册的所有路由 */
    protected getRoutes(): RequestData[];
    /** 获取当前 Server 中注册的所有路由组 */
    getGroupRoutes(): Array<GroupRoutesItem>;
    /**
     * 执行 Wrapper 任务
     * @param promise 能返回 data 和 reqId 的 Promise
     * @param errCode 默认的错误代码
     * @returns
     */
    protected executeWrapper<T>(promise: Promise<WrapperResult<T>>, errCode?: number): Promise<Result<T>>;
}
