import type { Passthrough } from '../types'; export type MergedPassthrough> = { body: TBody; headers: Record; query: Record; }; export declare function mergePassthrough>(connectorBody: TBody, connectorHeaders?: Record, passthrough?: Passthrough, connectorQuery?: Record): MergedPassthrough; /** * Merge `override` headers over `base` headers where `override` ALWAYS wins, * case-insensitively — used where connector-signed headers (SES SigV4: Host, * X-Amz-Date, X-Amz-Content-Sha256, Authorization, X-Amz-Security-Token) are * applied on top of already-merged passthrough headers. A case-variant of a * signed header carried in `base` (e.g. a passthrough lowercase `authorization`) * is removed so it cannot produce a comma-joined duplicate with the signed * `Authorization`. Returns a plain object (not a `Headers` instance) so callers * that pass it straight to `fetch` keep their existing wire shape. */ export declare function mergeHeaders(base: Record, override: Record): Record; /** * Recursively merge plain objects, `source` winning at the leaves. Arrays and * non-plain values replace rather than merge; `undefined` in `source` is * skipped so it never erases a connector-set value. */ export declare function deepMergeBody(target: Record, source: Record): Record;