import { List, Map } from 'immutable'; import { Context, Next } from 'koa'; import { HttpMethod } from '../constants'; import { Middleware } from './Middleware'; import { ParamInfo } from './ParamInfo'; import { ResponseInfo } from './ResponseInfo'; import { ControllerModule } from '.'; import 'reflect-metadata'; export declare class ActionExecutor { controller: object; name: string; params: List; constructor(controller: object, method: string, params?: List); execute(ctx: Context, next: Next): Promise; } export declare const getParams: (ctx: Context, next: Next, paramsMetadata?: List) => List; export declare class ActionModule { controllerModule: ControllerModule; targetFunction: string; name: string; actionExecutor: ActionExecutor; params: List; responses: Map; path: string; pathRegExp: { regExp: RegExp; params: (string | number)[]; }; method: HttpMethod; middleware: List; deprecated: boolean; version?: string; desc?: string; summary?: string; constructor(controllerModule: ControllerModule, targetFunction: string); getFullPath(): string; }