import * as Koa from 'koa'; import { HTTPMethod } from './meta'; import { HTTPResponse } from './meta/response'; import { HTTPServer } from './server'; import { HTTPEndpoint, HTTPService, HTTPServiceModel, HTTPTransactable } from './internal'; export declare class RequestContext { params: any[]; handlers: HTTPTransactable[]; } export declare function EndpointHandler(server: HTTPServer, service: HTTPServiceModel, instance: HTTPService, endpoint: HTTPEndpoint, method: HTTPMethod, fn: (...args: any[]) => Promise): (ctx: Koa.Context, next: () => Promise) => Promise;