export = HandlerInvoker; /** * @template {Object} T * @typedef {import('./export-hook-descriptor').Handler} Handler */ /** @typedef {import('./package-finder').Metadata} Metadata */ declare class HandlerInvoker { /** * @param {import('pino').Logger} logger */ constructor(logger: import("pino").Logger); /** @type {import('pino').Logger} */ logger: import("pino").Logger; /** @type {WeakMap>>} */ seen: WeakMap>>; /** * Filters a collection of handlers to those which have not run for the * provided export. * @template {Object} T * @param {T} xport The exported module * @param {Handler[]} handlers Collection of handlers * @returns {Handler[]} */ filter(xport: T, handlers: Handler[]): Handler[]; /** * Invoke all handlers in the provided collection that have not yet been run * for the provided export value. * @template {Object} T * @param {T} xport The exported module * @param {Handler[]} handlers The handlers to invoke * @param {Metadata} metadata Export metadata to pass to the handlers * @returns {T} */ invoke(xport: T, handlers: Handler[], metadata: Metadata): T; /** * @template {Object} T * @param {T} xport The exported module */ reset(xport: T): void; } declare namespace HandlerInvoker { export { Handler, Metadata }; } type Handler = import("./export-hook-descriptor").Handler; type Metadata = import("./package-finder").Metadata; //# sourceMappingURL=handler-invoker.d.ts.map