import { ContextResolver, IController as IController, IRequest, RequestMethod, IResponse, RouteHandler } from './types'; import Layer from './layer'; export default class Controller, TResponse extends IResponse, TContext, TLocalContext = TContext> implements IController { private readonly template; private readonly method; layer: Layer; contextResolver: ContextResolver; constructor(template: string, layer: Layer, method: RequestMethod); context(resolver: ContextResolver): IController; handle(handler: RouteHandler): Layer; }