import ColumnDef, { Accessor } from "../types/ColumnDef"; /** * Find the parent header that contains the given child header * Optimized using flattenAllHeaders for better performance */ export declare const findParentHeader: (headers: ColumnDef[], childAccessor: Accessor) => ColumnDef | null; /** * Check if a header should be hidden based on its parent's collapsed state */ export declare const shouldHideWhenParentCollapsed: (header: ColumnDef, headers: ColumnDef[], collapsedHeaders: Set) => boolean; /** * Get all child headers of a parent header (recursively) * Uses flattenAllHeaders for consistency and better performance */ export declare const getAllChildHeaders: (header: ColumnDef) => ColumnDef[]; /** * Check if a header has collapsible children */ export declare const hasCollapsibleChildren: (header: ColumnDef) => boolean; /** * Number of visible leaf (bottom-level) columns a header spans, for * `aria-colspan` on grouped/nested header cells. Leaf headers excluded from * layout (`hide` / `excludeFromRender`) or suppressed by their parent's * collapsed state are omitted so the announced span matches the columns * actually rendered. Leaf headers return 1. */ export declare const getHeaderColspan: (header: ColumnDef, rootHeaders: ColumnDef[], collapsedHeaders: Set) => number; /** * Get all leaf (bottom-level) headers that should be visible when a parent is collapsed * Uses flattenHeaders for consistent leaf detection */ export declare const getVisibleLeafHeadersWhenCollapsed: (header: ColumnDef) => ColumnDef[];