import type { CoreMessage, CompressionState } from "./types.js"; import type { PipelineNode } from "./pipeline.js"; /** * Controls which messages get an ref tag injected into their text. * Ref assignment (assignRefsNode) is unconditional — every message always * receives a ref in state.messageRefs regardless of this setting. This only * governs text rendering: * - "all": tag every mapped message (in-process hosts like pai-acp) * - "text-only": tag only user/assistant text; leave tool-call args and * tool-result content pristine (proxy hosts — structured content must not * be polluted) * - "none": leave all text untouched (hosts that read the ref map directly) */ export type RenderStrategy = "all" | "text-only" | "none"; export declare function renderVisibleRefs(messages: CoreMessage[], state: CompressionState, countTokens?: (text: string) => number, strategy?: RenderStrategy): CoreMessage[]; /** Factory: build a render-refs node bound to a specific render strategy. */ export declare function createRenderRefsNode(strategy: RenderStrategy): PipelineNode; /** Backward compat: default render-refs node using strategy "all". */ export declare const renderRefsNode: PipelineNode; //# sourceMappingURL=render-refs.d.ts.map