import { apm } from './apm'; import { Mongoose, Model } from 'mongoose'; import * as common from './common'; import * as errors from './errors'; import * as utils from './utils'; import * as helpers from './helpers'; import { Logger, LoggerOptions } from './logger'; import { DatabaseOptions } from './database'; import { Server, ServerOptions } from './server'; import { TasksOptions, Task, TaskSend } from './tasks'; import { Counter } from './counter'; import { CacheHelper } from './cache'; declare const counter: Counter; declare let logger: Logger; declare let database: Mongoose; interface IModel extends Model { [x: string]: any; } declare const models: { [x: string]: IModel; }; declare let server: Server; declare let tasks: { send: TaskSend; bindTask(task: Task): Promise; [x: string]: any; }; declare let plugins: any; interface IhubFrameworkOptions { framework?: { components?: string; models?: string; plugins?: string; }; logger?: LoggerOptions; database?: DatabaseOptions; server?: ServerOptions; tasks?: TasksOptions; } declare class IhubFramework { options: IhubFrameworkOptions; /** * @param options: IhubFrameworkOptions */ constructor(options?: IhubFrameworkOptions); /** * Validate if the minimum settings were provided to safely start the framework * @returns void */ private validate; /** * Starts the ihub * @returns void */ start(): Promise; } export { IhubFramework, IhubFrameworkOptions, logger, apm, database, server, tasks, plugins, counter, models, CacheHelper, common, errors, helpers, utils, }; export { RequestPrivate } from './loader/router'; export { Response, Request, NextFunction as Next } from 'express'; export { Action } from './tasks'; export * from './loader/component'; export * from './request';