/**
 * Shared response envelope renderer.
 *
 * Converts a transport-neutral `AdapterResponse` into a single string
 * payload. Both the CLI adapter (stdout) and the MCP adapter (content
 * block text) call this function; no transport-specific branching
 * happens upstream.
 *
 * Rendering rules:
 *   - `primary` is emitted verbatim.
 *   - `bullets` are joined with "\n" and appended after a blank line if
 *     non-empty.
 *   - `jsonDetails` are emitted as a fenced ```json block, prefixed by
 *     the provided label. Suppressed when `format === 'compact'` or when
 *     `fencedJson` is false.
 *   - `trailer` (telemetry / nudges) is appended last when
 *     `includeTrailer !== false`. Compact responses may pass `false`.
 */
import type { AdapterResponse, RenderOptions } from '../types.js';
export declare function renderEnvelope(response: AdapterResponse, opts?: RenderOptions): string;
