/// import * as Koa from "koa"; import * as Router from 'koa-router'; import { IMiddleware } from 'koa-router'; import { IAppConfig, IAppMiddlewares } from './interfaces'; import * as joi from 'joi'; export declare type TJoiSchemaGenerator = (joiObject: any) => joi.ObjectSchema; export declare class InnotsApp { protected config: IAppConfig; protected router: Router; protected koaAppInstance: Koa; protected middlewares: IAppMiddlewares; constructor(config: IAppConfig, router?: Router, customMiddlewares?: IAppMiddlewares); bootstrap(): Promise; route(method: string, url: string, ...args: any[]): void; protected _enableTraceMiddleware(): void; protected _enableBodyParser(): void; protected _enableLogMiddleware(): void; protected _enableErrorMiddleware(): void; protected _enableJwtMiddleware(): void; protected _enableCorsMiddleware(): void; protected _enableUserAgentMiddleware(): void; protected _enableSuccessMiddleware(): void; protected _createValidationMiddleware(schema: joi.ObjectSchema): IMiddleware; protected _processError(err: any, ctx: Koa.Context): void; protected _processUncaughtException(err: any): void; private _startApp(); }