///
import { InjectionToken } from '@neoskop/injector';
import { Application, ErrorRequestHandler, RequestHandler, Router } from 'express';
import { ApplicableAnnotation } from './metadata/controller';
import { IMiddleware } from './interfaces/middleware';
import { Server } from 'http';
/**
* Provides the default error handler
* @see {@link defaultErrorHandler}
*/
export declare const ERROR_HANDLER: InjectionToken;
/**
* Provides an array of view directories
*/
export declare const VIEWS: InjectionToken;
/**
* Provides the name of the default view engine
*/
export declare const VIEW_ENGINE: InjectionToken;
/**
* Provides a end handler for the current request
*
* @internal
* @hidden
* @see {@link ApplicableAnnotation}
*/
export declare const DEFAULT_END_HANDLER: InjectionToken;
/**
* Provides a path prefix for the views in the current module/controller
*/
export declare const VIEW_PREFIX: InjectionToken;
/**
* Provides the middleware to invoke before to controller action handler
*/
export declare const MIDDLEWARE_BEFORE: InjectionToken<(IMiddleware | RequestHandler)[]>;
/**
* Provides the middleware to invoke after to controller action handler
*/
export declare const MIDDLEWARE_AFTER: InjectionToken<(IMiddleware | RequestHandler)[]>;
/**
* Provides the express Application
*/
export declare const APP: InjectionToken;
/**
* Provides the express router for the current module/controller
*/
export declare const ROUTER: InjectionToken;
/**
* Provides the http server
*/
export declare const SERVER: InjectionToken;
/**
* Provides an array of functions to call before the root module is created
*/
export declare const BOOTSTRAP_LISTENER_BEFORE: InjectionToken;
/**
* Provides an array of functions to call after the root module is created
*/
export declare const BOOTSTRAP_LISTENER_AFTER: InjectionToken;
/**
* Defines the injection tokens to copy to child provider
* Useful for multi providers
*
* @internal
* @hidden
*/
export declare const MULTI_TOKENS_FROM_PARENT: InjectionToken[];