/// import { EventEmitter } from 'events'; import { IAstroboyOptions } from '../definitions/core'; import { IAstroboyFrameworkDefine } from '../definitions'; import { IBaseFrameworkDefine } from '../definitions/extends/context'; import { BaseClass as AstroboyBaseClass } from './base/BaseClass'; /** * ## Astroboy Framework * * @author Big Mogician * @class Astroboy * @extends {EventEmitter} * @template DEFINE Framework Definition, defalut is `IAstroboyFrameworkDefine`. */ declare class Astroboy = IAstroboyFrameworkDefine> extends EventEmitter { protected app: DEFINE['app']; protected options: IAstroboyOptions; private loader; protected extends: { app: null; context: null; request: null; response: null; }; constructor(options?: Partial); run(): Promise>; initAe(): Promise; handleCtx(ctx: any): Promise; protected init(): Promise; private start; } declare namespace Astroboy { /** ### Astroboy Base Class */ const BaseClass: typeof AstroboyBaseClass; type BaseClass = AstroboyBaseClass; /** ### Astroboy Controller Base */ const Controller: typeof AstroboyBaseClass; type Controller = AstroboyBaseClass; /** ### Astroboy Service Base */ const Service: typeof AstroboyBaseClass; type Service = AstroboyBaseClass; /** ### Astroboy Base */ const Helper: typeof AstroboyBaseClass; type Helper = AstroboyBaseClass; } export = Astroboy;