import type { AnyServer } from "./server/server.js"; export type { ResponseBodyHook, ResponseHeadersHook, ResponseObserverMethods, ResponseObserverRuntime, } from "./server/response-observer-runtime.js"; /** A server shape with the opt-in response observation methods installed. */ export type ResponseObserverServer = S & import("./server/response-observer-runtime.js").ResponseObserverMethods; /** A plugin that enables response header, body, and raw-response observation methods. */ export type ResponseObserverPlugin = ((app: S) => ResponseObserverServer) & { readonly pluginName?: string; }; /** * Enable the response observation methods on a server. * * The default server does not carry the header, body, or raw-response observation adapters. Apply * this plugin before using those methods: * * ```ts * import { responseObserver } from "@nifrajs/core/response-observer" * const app = server().use(responseObserver()).onResponseHeaders((headers) => { * headers.set("cache-control", "no-store") * }) * ``` */ export declare function responseObserver(): ResponseObserverPlugin; /** Attach the opt-in observer runtime to a middleware bundle that uses response observation. */ export declare function withResponseObserver(middleware: T): T; //# sourceMappingURL=response-observer.d.ts.map