/**-----------------------------------------------------------------------------------------
* Copyright © 2026 Progress Software Corporation. All rights reserved.
* Licensed under commercial license. See LICENSE.md in the project root for more information
*-------------------------------------------------------------------------------------------*/
import { BaseBindingDirective } from './base-binding.directive';
import { DataBoundTreeComponent } from './data-bound-tree-component';
import { RowReorderService } from '../row-reordering/row-reorder.service';
import { RowReorderEvent } from '../row-reordering/types';
import * as i0 from "@angular/core";
/**
 * Represents the Kendo UI for Angular TreeList hierarchy binding directive.
 * Use this directive to bind the TreeList to a tree of objects using a field that holds child data items.
 * Handles in-memory data operations [sorting](https://www.telerik.com/kendo-angular-ui/components/treelist/sorting/basics), [aggregation](https://www.telerik.com/kendo-angular-ui/components/treelist/aggregates)
 * and [filtering](https://www.telerik.com/kendo-angular-ui/components/treelist/filtering/basics). [More information and examples.](https://www.telerik.com/kendo-angular-ui/components/treelist/data-binding/local-data#binding-to-hierarchical-data-1)
 *
 * @example
 * ```html
 * <kendo-treelist [kendoTreeListHierarchyBinding]="data" [children]="childrenField"></kendo-treelist>
 * ```
 *
 * @remarks
 * Applied to: {@link TreeListComponent}.
 */
export declare class HierarchyBindingDirective extends BaseBindingDirective {
    protected component: DataBoundTreeComponent;
    protected rowReorderService: RowReorderService;
    /**
     * Sets the name of the field that holds the child data items of the node.
     */
    set childrenField(value: string);
    get childrenField(): string;
    /**
     * Sets the array of data that populates the TreeList.
     */
    data: any[];
    childrenGetter: any;
    childrenSetter: any;
    constructor(component: DataBoundTreeComponent, rowReorderService: RowReorderService);
    private _childrenField;
    /**
     * @hidden
     */
    getChildren(item?: any): any[];
    protected itemKey(item: any): void;
    protected onRowReorder(ev: RowReorderEvent): void;
    static ɵfac: i0.ɵɵFactoryDeclaration<HierarchyBindingDirective, [null, { optional: true; }]>;
    static ɵdir: i0.ɵɵDirectiveDeclaration<HierarchyBindingDirective, "[kendoTreeListHierarchyBinding]", ["kendoTreeListHierarchyBinding"], { "childrenField": { "alias": "childrenField"; "required": false; }; "data": { "alias": "kendoTreeListHierarchyBinding"; "required": false; }; }, {}, never, never, true, never>;
}
