import { Handler } from 'express'; import KoaRouter from '@koa/router'; import { Agent, FilterFn } from 'elastic-apm-node'; import { Middleware } from 'koa'; type SpanFilterParams = { filterShorterThan?: number; }; type TransactionFilterParams = { filterNotSampled?: boolean; keepRequest?: string[]; keepResponse?: string[]; keepSocket?: string[]; overrideHostname?: string; }; type ExpressMiddlewareParams = { setAddress?: boolean; setOrigin?: boolean; requestSource?: boolean; }; type KoaMiddlewareParams = { prefix?: string; setAddress?: boolean; setOrigin?: boolean; requestSource?: boolean; setRouteName?: boolean; usePathBasedRoutes?: boolean; }; export declare const apm: { defaults: { keepRequestHeaders: string[]; }; spanFilter({ filterShorterThan }?: SpanFilterParams): FilterFn; transactionFilter({ filterNotSampled, keepRequest, keepResponse, keepSocket, overrideHostname }?: TransactionFilterParams): FilterFn; }; export declare const express: { middleware(apmClient: Agent, { setAddress, setOrigin, requestSource }?: ExpressMiddlewareParams): Handler; }; export declare const koa: { addRoutes(router: KoaRouter, routes: [string, string?][], ...fn: KoaRouter.Middleware[]): void; middleware(apmClient: Agent, { prefix, setAddress, setOrigin, requestSource, setRouteName, usePathBasedRoutes }?: KoaMiddlewareParams): Middleware; }; export {};