import { type HttpHooks } from "../qemu/contracts.js"; export type SecretDefinition = { /** host patterns this secret may be sent to */ hosts: string[]; /** secret value */ value: string; }; export type CreateHttpHooksOptions = { /** allowed host patterns (empty = allow all) */ allowedHosts?: string[]; /** host patterns allowed to resolve to internal ip ranges */ allowedInternalHosts?: string[]; /** secret definitions keyed by env var name */ secrets?: Record; /** placeholder replacement in URL query string (default: false) */ replaceSecretsInQuery?: boolean; /** whether to block internal ip ranges (default: true) */ blockInternalRanges?: boolean; /** custom request policy callback */ isRequestAllowed?: HttpHooks["isRequestAllowed"]; /** custom ip policy callback */ isIpAllowed?: HttpHooks["isIpAllowed"]; /** request hook */ onRequest?: HttpHooks["onRequest"]; /** response hook */ onResponse?: HttpHooks["onResponse"]; }; export type CreateHttpHooksResult = { /** http hook implementation */ httpHooks: HttpHooks; /** environment mapping for secret placeholders */ env: Record; /** resolved allowed hosts */ allowedHosts: string[]; }; export declare function createHttpHooks(options?: CreateHttpHooksOptions): CreateHttpHooksResult; //# sourceMappingURL=hooks.d.ts.map