/**-----------------------------------------------------------------------------------------
* Copyright © 2025 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";
/**
 * A directive which binds the TreeList to an array of objects by using
 * an `idField` and `parentIDField` field to define the hierarchy.
 *
 * The directive encapsulates the in-memory handling of data operations such as
 * [sorting]({% slug sorting_treelist %}), [aggregation]({% slug treelist_with_aggregates %})
 * and [filtering]({% slug filtering_treelist %}) ([more information and examples]({% slug databinding_treelist %})).
 */
export declare class FlatBindingDirective extends BaseBindingDirective {
    protected component: DataBoundTreeComponent;
    protected rowReorderService: RowReorderService;
    /**
     * The name of the field which contains the identifier of the parent node.
     */
    set parentIdField(value: string);
    get parentIdField(): string;
    /**
     * The name of the field which contains the unique identifier of the node.
     */
    set idField(value: string);
    get idField(): string;
    /**
     * The array of data which will be used to populate the TreeList.
     */
    data: any[];
    idGetter: any;
    idSetter: any;
    parentIdGetter: any;
    parentIdSetter: any;
    constructor(component: DataBoundTreeComponent, rowReorderService: RowReorderService);
    private _parentIdField;
    private _idField;
    /**
     * @hidden
     */
    getChildren(item?: any): any;
    protected itemKey(item: any): void;
    protected onRowReorder(ev: RowReorderEvent): void;
    static ɵfac: i0.ɵɵFactoryDeclaration<FlatBindingDirective, [null, { optional: true; }]>;
    static ɵdir: i0.ɵɵDirectiveDeclaration<FlatBindingDirective, "[kendoTreeListFlatBinding]", ["kendoTreeListFlatBinding"], { "parentIdField": { "alias": "parentIdField"; "required": false; }; "idField": { "alias": "idField"; "required": false; }; "data": { "alias": "kendoTreeListFlatBinding"; "required": false; }; }, {}, never, never, true, never>;
}
