import { CustomDataTableHierarchyLevel, DynamicDatatableProperty } from '../../../types/canvas'; export interface ProcessedHierarchicalRow { id: string; level: number; type: 'group' | 'data'; groupValue?: string; data?: Record; children?: ProcessedHierarchicalRow[]; isExpanded?: boolean; } export interface RowWithAncestors extends ProcessedHierarchicalRow { ancestorGroups?: ProcessedHierarchicalRow[]; isInnermostGroup?: boolean; } /** * Process hierarchical data based on configured levels */ export declare function processHierarchicalData(sourceData: any, hierarchy: CustomDataTableHierarchyLevel[], columns?: DynamicDatatableProperty[], userSortConfig?: { key: string; direction: 'asc' | 'desc'; }): ProcessedHierarchicalRow[]; /** * Flatten hierarchical structure for rendering * @param rows - The hierarchical rows to flatten * @param includeCollapsed - Whether to include collapsed rows * @param forceExpandAll - Force all groups to be expanded (useful for print mode) */ export declare function flattenForRendering(rows: ProcessedHierarchicalRow[], includeCollapsed?: boolean, forceExpandAll?: boolean): RowWithAncestors[]; /** * Toggle expand/collapse state of a group row */ export declare function toggleRowExpansion(rows: ProcessedHierarchicalRow[], rowId: string): ProcessedHierarchicalRow[];