import Application, { CoreApplicationOptions } from './lib/Application';
import { DefaultRouter } from './lib/router';
import Logger, { ILoggerOptions } from './lib/Logger';
export declare type TReXAppOptions = Omit<CoreApplicationOptions, 'logger'> & {
    /**
     * Set logging options
     */
    logging?: ILoggerOptions;
    /**
     * Set application alias name
     */
    name?: string;
};
/**
 * Get instanciated application
 * @param id Application name or default id number (0, 1, 2, ...)
 */
export declare const getAppInstance: (id?: string | number | undefined) => Application | undefined;
/**
 * Get instanciated logger
 * @param id Application name or default id number (0, 1, 2, ...)
 */
export declare const getLoggerInstance: (id?: string | number | undefined) => Logger | undefined;
declare const _default: (options?: TReXAppOptions | undefined) => Application;
export default _default;
export declare const Router: () => DefaultRouter;
export * as middlewares from './lib/middlewares';
