// Type definitions for koa-compose 3.2 // Project: https://github.com/koajs/compose // Definitions by: jKey Lu // Definitions: https://github.com/DefinitelyTyped/DefinitelyTyped // TypeScript Version: 2.3 import * as Koa from "koa"; declare function compose( middleware: [Koa.Middleware, Koa.Middleware] ): Koa.Middleware; declare function compose(middleware: Array>): compose.ComposedMiddleware; declare namespace compose { type Middleware = (context: T, next: () => Promise) => any; type ComposedMiddleware = (context: T, next?: () => Promise) => Promise; } export = compose;