/**
 * @module DispatcherServlet
 * @description 处理http请求
 */
import ServletContext from './http/ServletContext';
import HandlerAdapter from './method/HandlerAdapter';
import HandlerExecutionChain from './interceptor/HandlerExecutionChain';
import AbstractApplicationContext from './context/AbstractApplicationContext';
import HandlerMethod from './method/HandlerMethod';
import ModelAndView from './models/ModelAndView';
export default class DispatcherServlet {
    private handlerMappings;
    private handlerAdapters;
    private exceptionResolver;
    private readonly appContext;
    private viewResolverRegistry;
    private fallbackErrorHandler;
    constructor(appContext: AbstractApplicationContext);
    getHandler(servletContext: ServletContext): HandlerExecutionChain;
    private initHandlerMappings;
    private initHandlerAdapters;
    private initExceptionResolvers;
    private initErrorHandler;
    private initStrategies;
    private initViewResolvers;
    /**
     * 根据当前处理的handler获取对应的处理适配器
     * @param handler
     */
    getHandlerAdapter(handler: any): HandlerAdapter;
    doService(servletContext: ServletContext): Promise<void>;
    doDispatch(servletContext: ServletContext): Promise<void>;
    /**
     * 处理异常
     * @param { Error } error 异常信息
     * @param {ControllerContext} servletContext 请求上下文
     */
    handleException(error: Error, servletContext: ServletContext, handler: HandlerMethod): Promise<ModelAndView>;
    processDispatchResult(error: Error, mv: ModelAndView, servletContext: ServletContext, handler: HandlerMethod): Promise<void>;
}
