import { Response } from "./lambda-proxy"; import { Route } from "./route"; import { RoutingContext } from "./routing-context"; export type MiddlewareConstructor = new (options: any) => MiddlewareClass; export declare class Middleware { before(options: MiddlewareBeforeOptions): Promise; after(options: MiddlewareAfterOptions): Promise; } export interface MiddlewareBeforeOptions { routingContext: RoutingContext; currentRoute: Route; metadata?: Metadata; } export interface MiddlewareAfterOptions { routingContext: RoutingContext; currentRoute: Route; metadata?: Metadata; response: Response; }