export { Context, Next } from '@kever/shared'; import * as Koa from 'koa'; import { Middleware } from 'koa'; import bodyparser from 'koa-bodyparser'; declare const Controller: (path?: string) => ClassDecorator; interface Logger { fatal: (msg: string) => void; error: (msg: string, ...args: unknown[]) => void; warn: (msg: string, ...args: unknown[]) => void; info: (msg: string, ...args: unknown[]) => void; debug: (msg: string, ...args: unknown[]) => void; trace: (msg: string, ...args: unknown[]) => void; } type BodyparserOptions = Parameters[0]; declare const enum Env { DEV = "development", PROD = "production" } interface App extends Koa { options: Required; } interface AppOptions { host?: string; port?: number; middlewares?: (string | Middleware)[]; include?: string[]; exclude?: string[]; env?: Env; tsconfig?: string; logger?: Logger; bodyparser?: BodyparserOptions; } type Callback = (app: App) => void; declare const createApp: (options: AppOptions, callback?: Callback) => Promise; export { App, AppOptions, Controller, Env, Logger, createApp };