export interface ManagedIndexUpdate {
    /**
     * The full file content to write, or `null` when the existing managed block
     * is already content-equal to the target (callers must skip the write to
     * preserve the on-disk bytes, including any external formatter's padding).
     */
    content: string | null;
}
/**
 * Compute the content-idempotent result of regenerating a managed index block.
 *
 * @param existingContent Current on-disk file content (already known to contain
 *   the marker pair; bounds are passed in to avoid re-scanning).
 * @param startIndex Index of the start marker within `existingContent`.
 * @param endMarkerEnd Index just past the end marker within `existingContent`.
 * @param renderedBlock Freshly rendered managed block (start marker ... end
 *   marker) built from the record files.
 * @returns `{ content: null }` when the logical rows match (skip the write), or
 *   `{ content: <full file text> }` when the block must be rewritten.
 */
export declare function computeManagedIndexUpdate(existingContent: string, startIndex: number, endMarkerEnd: number, renderedBlock: string): ManagedIndexUpdate;
//# sourceMappingURL=managed-index.d.ts.map