import WebMvcConfigurationSupport from './config/WebMvcConfigurationSupport';
import GenericApplicationContext from './context/GenericApplicationContext';
import { IncomingMessage, ServerResponse } from 'http';
import { ClazzType } from '../interface/declare';
import AbstractApplicationContext from './context/AbstractApplicationContext';
import { ConnectHandler } from './connector/HandlerConnector';
export type ServletHandler = (request: IncomingMessage, response: ServerResponse, next: (error?: any) => any) => any;
export default class SpringApplication {
    context: GenericApplicationContext;
    configurer: WebMvcConfigurationSupport;
    private filterAdapter;
    private bootConfig;
    private hotUpdater;
    private readonly primarySources;
    constructor(...primarySources: ClazzType[]);
    static run(primarySource: ClazzType, connect?: ConnectHandler): AbstractApplicationContext;
    /**
     * 尝试注入配置
     */
    tryInjectDefaultConfiguration(context: GenericApplicationContext): void;
    /**
     * 加载所有模块
     */
    readyWorkprogress(cwd: string[], exclude?: string[]): void;
    /**
     * 顶层异常兜底
     */
    private onError;
    private initBootConfigs;
    private initializeApplication;
    private handleRequest;
    /**
     * 启动服务
     */
    run(connect?: ConnectHandler): GenericApplicationContext;
    private onConnected;
}
