/**-----------------------------------------------------------------------------------------
* Copyright © 2025 Progress Software Corporation. All rights reserved.
* Licensed under commercial license. See LICENSE.md in the project root for more information
*-------------------------------------------------------------------------------------------*/
import { OnInit, SimpleChanges } from '@angular/core';
import { DataBoundComponent } from './data-bound-component';
import { DragAndDropDirective } from './drag-and-drop/drag-and-drop.directive';
import { FilteringBase } from './filtering-base';
import * as i0 from "@angular/core";
/**
* Represents a directive that handles hierarchical data binding and provides built-in filtering functionality for the TreeView.
*
* Use this directive to bind hierarchical data where child nodes are nested within parent nodes.
* The directive also enables the built-in filter input and automatic filter handling when used with the `filterable` property.
*
* @example
* ```html
*
*
* ```
*
* @remarks
* Applied to: {@link TreeViewComponent}
*/
export declare class HierarchyBindingDirective extends FilteringBase implements OnInit {
protected component: DataBoundComponent;
private dragAndDropDirective?;
/**
* Specifies the field name of the parent node that holds the child data items.
*/
set childrenField(value: string);
/**
* Specifies the field name of the parent node that holds the child data items.
*/
get childrenField(): string;
/**
* Specifies the hierarchical data displayed by the TreeView.
*/
set nodes(nodes: any[]);
get nodes(): any[];
protected _nodes: any[];
/**
* @hidden
* A callback which determines whether a TreeView node should be rendered as hidden.
*/
set isVisible(fn: (item: object, index: string) => boolean);
/**
* @hidden
*/
loadOnDemand: boolean;
private _childrenField;
private originalData;
constructor(component: DataBoundComponent, dragAndDropDirective?: DragAndDropDirective);
ngOnInit(): void;
ngOnChanges(changes: SimpleChanges): void;
/**
* @hidden
*/
updateNodes(values: any[]): void;
static ɵfac: i0.ɵɵFactoryDeclaration;
static ɵdir: i0.ɵɵDirectiveDeclaration;
}