import { REQUEST_METHOD } from '@gongt/ts-stl-library/request/request-method'; import { Middleware } from 'koa'; import { TypedContext } from './response-json'; export interface KSimpleMiddleware { displayName?: string; readonly name: string; (ctx: TypedContext): Promise | void; } export declare type MiddlewareElement = Middleware | KSimpleMiddleware; export declare type ArrayOrNot = T | T[]; export declare function combineMiddleware(...middlewares: ArrayOrNot[]): Middleware; export declare function combineSimple(...middlewares: ArrayOrNot[]): KSimpleMiddleware; export declare function complexMiddleware(middleware: KSimpleMiddleware): Middleware; export declare function simplifyMiddleware(middleware: Middleware): KSimpleMiddleware; export declare function koaMiddleware(method: REQUEST_METHOD, path: string | RegExp, cb: Middleware): Middleware; export declare function koaMiddleware(path: string | RegExp, cb: Middleware): Middleware; export declare function koaRoute(method: REQUEST_METHOD, path: string, cb?: KSimpleMiddleware | Middleware): KSimpleMiddleware; export declare function koaRoute(path: string, cb: KSimpleMiddleware | Middleware): KSimpleMiddleware;