import type { NodeResponseHook, ResponseBodyHook, ResponseHeadersHook } from "./node-outcome-hook.js"; type MaybePromise = T | Promise; type WebResponseHook = (response: Response, req: Request) => MaybePromise; export type { ResponseBodyHook, ResponseHeadersHook } from "./node-outcome-hook.js"; export interface ResponseObserverHost { assertConfigurable(operation: string): void; addResponseHook(web: WebResponseHook, node: NodeResponseHook | undefined): void; enableResponseBodyTagging(): object; responseBodyOwners(): ReadonlySet; } export interface ResponseObserverMethods { onResponseHeaders(fn: ResponseHeadersHook): this; onResponseBody(fn: ResponseBodyHook): this; onResponseRaw(fn: (response: Response, req: Request) => MaybePromise): this; } export interface ResponseObserverRuntime { install(host: ResponseObserverHost): ResponseObserverMethods; } export declare function createResponseObserverRuntime(): ResponseObserverRuntime; //# sourceMappingURL=response-observer-runtime.d.ts.map