/// import type { Middleware, ParameterizedContext, DefaultState } from 'koa'; import type * as Router from '@koa/router'; /** * Type compatibility note: * * This package uses @types/koa@3.x, but @types/koa__router@12.x depends on * @types/koa@2.x. This creates type conflicts when working with router middleware. * At runtime, koa@3.x is used throughout, so all methods exist and work correctly. * * The type casts in instrumentation.ts are necessary to bridge this gap. * * TODO: Remove type casts when @types/koa__router@13+ with @types/koa@3.x support is available */ export type KoaContext = ParameterizedContext; export type KoaMiddleware = Middleware & { router?: Router; }; /** * This symbol is used to mark a Koa layer as being already instrumented * since its possible to use a given layer multiple times (ex: middlewares) */ export declare const kLayerPatched: unique symbol; export type KoaPatchedMiddleware = KoaMiddleware & { [kLayerPatched]?: boolean; }; //# sourceMappingURL=internal-types.d.ts.map