import { DiffType } from 'api-smart-diff'; import { DiffBlockData } from '../diff-builder/common'; import { BlockTreeIndex } from './block-index'; /** * 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; /** * Index-driven version of computeFilterFoldSet. * Uses pre-computed containersByMatchingType for O(M) set operations * instead of O(N) tree walk. */ export declare function computeFilterFoldSetFromIndex(index: BlockTreeIndex, filters: DiffType[]): Set;