import { DiffBlockData } from '../diff-builder/common';
import { DiffType } from 'api-smart-diff';
/**
 * Returns true if a block (or any of its descendants) contains at least
 * one change whose type is in `filters`. Returns true for all blocks
 * when filters is empty (no filtering).
 */
export declare function blockMatchesFilter(block: DiffBlockData, filters: DiffType[]): boolean;
/**
 * Given the block tree and active filters, returns the set of block IDs
 * that should be folded (collapsed). Blocks matching the filter are excluded
 * from the fold set. Blocks not matching are included.
 *
 * Only considers foldable blocks (those with children).
 * When filters is empty, returns empty set (nothing folded by filter).
 */
export declare function computeFilterFoldSet(blocks: DiffBlockData[], filters: DiffType[]): Set<string>;
