///
import * as Core from "kamboja-core";
import * as Http from "http";
/**
* Create instance of KambojaJS application
*/
export declare class Kamboja implements Core.Application {
private engine;
private static defaultModelPath;
private static facade;
private options;
private log;
private storage;
static getFacade(): Core.Facade;
/**
* Create instance of KambojaJS application
* @param engine KambojaJS engine implementation
* @param opt KambojaJS option
*/
constructor(engine: Core.Engine, opt: Core.KambojaOption | string);
set(key: keyof Core.KambojaOption, value: any): this;
get(key: keyof Core.KambojaOption): T;
/**
* Add middleware
* @param factory factory method that will be call after KambojaJS application initialized
* @returns KambojaJS application
*/
use(middleware: Core.MiddlewaresType): this;
apply(facility: string | Core.Facility): this;
private isFolderProvided();
private generateRoutes(controllerMeta);
private analyzeRoutes(infos);
private resolveMiddlewares(option);
private resolveValidators(option);
/**
* Initialize KambojaJS application
* @returns HttpServer
*/
init(): Http.Server;
}