import type { ExpandedKeys, SortMeta, SortOrder, TreeNode } from '@primereact/types/headless/datatable'; import type { DataTableFilterMeta } from './useDataTableFilter'; export type { TreeNode }; export interface UseDataTableTreeOptions { data: Record[]; treeMode?: boolean; expandedKeys: ExpandedKeys; sortField?: string; sortOrder?: SortOrder; multiSortMeta?: SortMeta[]; filters?: DataTableFilterMeta; globalFilter?: string | null; globalFilterFields?: string[]; paginator?: boolean; page?: number; rows?: number; } /** * Recursively filters tree nodes. * - If a node matches, include it with ALL its children (lenient mode). * - If a node doesn't match but a descendant does, include the node with filtered children. * - If neither node nor any descendant matches, exclude. */ export declare function filterTreeNodes(nodes: TreeNode[], filters: DataTableFilterMeta, globalFilter: string | null, globalFilterFields: string[], depth?: number): TreeNode[]; export declare function hasActiveFilters(filters: DataTableFilterMeta, globalFilter: string | null): boolean; export declare function useDataTableTree(options: UseDataTableTreeOptions): { flattenedData: Record[]; totalRootNodes: number; state: {}; exposes: {}; };