import type { FeedBlock } from "./feed-blocks.js"; /** One blank row separates committed blocks; nothing inside a block. */ export declare const BLOCK_GAP_ROWS = 1; export declare function blockHeight(block: FeedBlock): number; /** Rows a run of blocks occupies once inter-block gaps are counted. */ export declare function totalHeight(blocks: readonly FeedBlock[], gap?: number): number; /** * Newest-first walk: how many trailing blocks fit in `budget` rows. Always at * least one when the budget is positive, so the newest block is never dropped * entirely — the live-tail policy bounds it instead. */ export declare function trailingBlocksWithin(blocks: readonly FeedBlock[], budget: number, gap?: number): number;