/** One bounded, request-only findings DATA composer, shared by live calls and replay.
 * Whole entries fit or are counted as omitted. No identifier is shortened.
 * This advisory context grants no authority: admission still reads actual tool results.
 */
import type { LLMMessage } from '../../../provider-contract/types.js';
import type { FindingsLedger } from './types.js';
export declare const FINDINGS_LAYOUT: "late-v1";
export declare const DEFAULT_FINDINGS_CONTEXT_BYTES = 16384;
export declare const MAX_FINDINGS_CONTEXT_BYTES = 262144;
/** The host owns this bound; a model declaration never changes it. */
export declare function findingsContextBytes(value: number | undefined): number;
/** Stable JSON field meanings; all mutable values occur after the cached prefix. */
export declare function findingsContext(messages: readonly LLMMessage[], rows: FindingsLedger | undefined, maxBytes?: number): string;
