/**
 * Pure user-turn section builders. They render host-supplied submit
 * enrichments into LLM-only `TextContent` blocks; the query itself remains
 * owned by `build-user-message.ts`.
 *
 * This file is intentionally separate from `sections.ts`: that module owns
 * system-prompt sections, while this one owns per-submit user context.
 */
import type { TextContent } from '../../ai/types.js';
import type { FocusedRange, RangeRestriction } from '../../contracts/user-turn-enrichments.js';
/** Render the workbook-summary block. Empty or missing summaries are omitted. */
export declare function buildWorkbookSummaryBlock(summary: string | undefined): TextContent | null;
/**
 * Render the focused-range block. It supports sheet-only focus, range focus
 * with optional inline data, and an optional chart name.
 */
export declare function buildFocusedRangeBlock(focus: FocusedRange | undefined): TextContent | null;
/**
 * Render range restrictions as either a hard edit boundary or enhanced
 * context. Mixed modes intentionally follow the first restriction so the
 * entire block has one clear instruction.
 */
export declare function buildRangeRestrictionsBlock(restrictions: readonly RangeRestriction[] | undefined): TextContent | null;
/**
 * Render the multi-turn context-update warning block.
 *
 * Eligibility is a caller decision: the composer invokes this only when prior
 * transcript state means the spreadsheet may have changed since earlier turns.
 */
export declare function buildContextUpdateWarningBlock(): TextContent;
//# sourceMappingURL=user-turn-sections.d.ts.map