/// import * as Koa from 'koa'; import * as http from 'http'; import * as https from 'https'; import { TUmaOption } from '../types/TUmaOption'; import { IContext } from '../types/IContext'; import { TConfig } from '../types/TConfig'; import { TControllerInfo } from '../types/TControllerInfo'; import { TPluginConfig } from '../types/TPluginConfig'; export default class Uma { readonly options: TUmaOption; private constructor(); env: string; app: Koa; server: http.Server | https.Server; callback: Function; port: number; routers: string[]; config: TConfig; private load; loadConfig(): void; loadAspect(): void; loadResource(): void; loadService(): void; loadController(): void; loadPlugin(): Promise; use(mw: Koa.Middleware): void; get context(): IContext; start(port?: number, callback?: Function): Promise; prepare(): Promise; static version: string; static use(mw: Koa.Middleware): void; static get env(): string; static get app(): Koa; static get server(): http.Server | https.Server; static get options(): TUmaOption; static get config(): TConfig; static get pluginConfig(): boolean | TPluginConfig; static get pluginKeys(): string[]; static pluginOptions(pluginName: string): { [key: string]: any; }; static get context(): IContext; static get controllersInfo(): IterableIterator; static instance(options?: TUmaOption): Uma; static middleware(options: TUmaOption, app: Koa): Promise; static callback(options: TUmaOption, app?: Koa): Promise<(req: http.IncomingMessage | import("http2").Http2ServerRequest, res: http.ServerResponse | import("http2").Http2ServerResponse) => void>; }