import type { PageVisibility } from "../common/pageVisibility"; import type { ChainableHandler, RequestMetadata } from "./HandlerChainBuilder"; /** * Map from one request type to another, potentially asynchronously. * * **NOTE:** If `maxMapConcurrency` is set to some finite number, and more requests are handled than are allowed to * be concurrently mapped, the waiting requests will be placed into a unbounded buffer. If, for example, requests are * handled with high frequency, `maxMapConcurrency` is low, and the `map` function returns a long-running Promise, this * buffer could use a large amount of memory. Keep this in mind when using this handler. * * @param map Transform each request, may be sync or async. * @param pageVisibility Determines whether to flush buffered requests when the page becomes hidden. * `false` value indicates that page visibility handling is avoided, while * a {@link PageVisibility} instance is used to subscribe to page visibility change events. * @param maxMapConcurrency If the `map` function is async, it will be invoked at most this number of times * concurrently. Setting this to 1 could be useful if it's important for `map` to be called in serial. * @returns {@link ChainableHandler}, suitable for use in {@link HandlerChainBuilder.map} */ export declare const createMappingHandler: (map: (request: Req) => MappedReq | Promise, pageVisibility: PageVisibility | false, maxMapConcurrency?: number) => ChainableHandler; //# sourceMappingURL=mappingHandler.d.ts.map