/**-----------------------------------------------------------------------------------------
* Copyright © 2026 Progress Software Corporation. All rights reserved.
* Licensed under commercial license. See LICENSE.md in the project root for more information
*-------------------------------------------------------------------------------------------*/
import { OnInit, OnDestroy, ElementRef, EventEmitter, NgZone, Renderer2, TemplateRef, ChangeDetectorRef, SimpleChanges, OnChanges, ViewContainerRef, AfterContentChecked, Injector } from '@angular/core';
import { AdaptiveSize, AdaptiveService } from '@progress/kendo-angular-utils';
import { PopupRef, PopupService } from '@progress/kendo-angular-popup';
import { TreeItem, TreeViewComponent, DataBoundComponent, ExpandableComponent } from '@progress/kendo-angular-treeview';
import { ControlValueAccessor, FormControl } from '@angular/forms';
import { NavigationService } from '../common/navigation/navigation.service';
import { LocalizationService } from '@progress/kendo-angular-l10n';
import { PreventableEvent } from '../common/models/preventable-event';
import { AdaptiveMode } from '../common/util';
import { NoDataTemplateDirective } from '../common/templates/no-data-template.directive';
import { PopupSettings } from '../common/models/popup-settings';
import { Direction } from '../common/models/direction';
import { Observable } from 'rxjs';
import { HeaderTemplateDirective } from '../common/templates/header-template.directive';
import { FooterTemplateDirective } from '../common/templates/footer-template.directive';
import { NodeTemplateDirective } from './templates/node-template.directive';
import { ValueTemplateDirective } from '../common/templates/value-template.directive';
import { DropDownSize } from '../common/models/size';
import { DropDownRounded } from '../common/models/rounded';
import { DropDownFillMode } from '../common/models/fillmode';
import { SVGIcon } from '@progress/kendo-svg-icons';
import { ActionSheetComponent } from '@progress/kendo-angular-navigation';
import { TextBoxComponent } from '@progress/kendo-angular-inputs';
import { AdaptiveRendererComponent } from '../common/adaptive-renderer.component';
import * as i0 from "@angular/core";
/**
* Represents the [Kendo UI DropDownTree component for Angular](https://www.telerik.com/kendo-angular-ui/components/dropdowns/dropdowntree).
* @example
* ```html
*
* ```
*
* @remarks
* Supported children components are: {@link CustomMessagesComponent}.
*/
export declare class DropDownTreeComponent implements OnInit, OnDestroy, OnChanges, AfterContentChecked, ControlValueAccessor, DataBoundComponent, ExpandableComponent {
private injector;
wrapper: ElementRef;
private popupService;
private navigationService;
private renderer;
private _zone;
private cdr;
private localization;
private adaptiveService;
/**
* @hidden
*/
icon: string;
/**
* @hidden
*/
svgIcon: SVGIcon;
/**
* @hidden
*/
touchEnabled: any;
/**
* @hidden
*/
animationDuration: number;
/**
* @hidden
*/
searchIcon: SVGIcon;
/**
* @hidden
*/
chevronDownIcon: SVGIcon;
/**
* @hidden
*/
xIcon: SVGIcon;
/**
* @hidden
*/
adaptiveRendererComponent: AdaptiveRendererComponent;
/**
* @hidden
*/
get actionSheet(): ActionSheetComponent;
/**
* @hidden
*/
get actionSheetSearchBar(): TextBoxComponent;
hostClasses: boolean;
get isReadonly(): string;
get hostAriaInvalid(): boolean | null;
get isDisabled(): boolean | null;
get isLoading(): boolean;
get isBusy(): string;
get hostAriaControls(): string;
get id(): string;
direction: Direction;
get hostTabIndex(): number;
role: string;
ariaHasPopup: string;
get isAriaExpanded(): boolean;
get hostAriaAutocomplete(): string;
noDataTemplate: NoDataTemplateDirective;
headerTemplate: HeaderTemplateDirective;
footerTemplate: FooterTemplateDirective;
nodeTemplate: NodeTemplateDirective;
valueTemplate: ValueTemplateDirective;
popupTemplate: TemplateRef;
container: ViewContainerRef;
set treeview(treeview: TreeViewComponent);
get treeview(): TreeViewComponent;
private filterInput;
/**
* Fires each time the popup is about to open
* ([see example](https://www.telerik.com/kendo-angular-ui/components/dropdowns/dropdowntree/open-state)).
* This event is preventable. If you cancel it, the popup will remain closed.
*/
open: EventEmitter;
/**
* Fires after the popup has been opened.
*/
opened: EventEmitter;
/**
* Fires each time the popup is about to close
* ([see example](https://www.telerik.com/kendo-angular-ui/components/dropdowns/dropdowntree/open-state)).
* This event is preventable. If you cancel it, the popup will remain open.
*/
close: EventEmitter;
/**
* Fires after the popup has been closed.
*/
closed: EventEmitter;
/**
* Fires when the user expands a node in the popup TreeView.
*/
nodeExpand: EventEmitter;
/**
* Fires when the user collapses a node in the popup TreeView.
*/
nodeCollapse: EventEmitter;
/**
* Fires each time the user focuses the DropDownTree.
*/
onFocus: EventEmitter;
/**
* Fires each time the DropDownTree gets blurred.
*/
onBlur: EventEmitter;
/**
* Fires each time the value is changed
* ([see example](https://www.telerik.com/kendo-angular-ui/components/dropdowns/dropdowntree/events)).
*/
valueChange: EventEmitter;
/**
* Fires when the value of the built-in filter input element changes.
*/
filterChange: EventEmitter;
/**
* Sets and gets the loading state of the DropDownTree.
*/
loading: boolean;
/**
* If set to `true`, renders a button on hovering over the component.
* Clicking this button resets the value of the component to `undefined` and triggers the `change` event.
*/
clearButton: boolean;
/**
* Sets the data of the DropDownTree.
*
* > The data has to be provided in an array-like list with objects.
*/
set data(data: object[]);
get data(): object[];
/**
* Sets the value of the DropDownTree.
* It can either be of the primitive (string, numbers) or of the complex (objects) type.
* To define the type, use the `valuePrimitive` option.
*
*/
set value(newValue: any);
get value(): any;
/**
* The fields of the data item that provide the text content of the nodes inside the
* DropDownTree ([see example](https://www.telerik.com/kendo-angular-ui/components/dropdowns/dropdowntree/data-binding)). If the `textField`
* input is set to an array, each hierarchical level uses the field that corresponds
* to the same index in the array, or the last item in the array.
*
* > The `textField` property can be set to point to a nested property value - e.g. `category.name`.
*/
textField: string | string[];
/**
* The fields of the data item that provide the value of the nodes inside the
* DropDownTree ([see example](https://www.telerik.com/kendo-angular-ui/components/dropdowns/dropdowntree/data-binding)). If the `valueField`
* input is set to an array, each hierarchical level uses the field that corresponds
* to the same index in the array, or the last item in the array.
*
* > The `valueField` property can be set to point to a nested property value - e.g. `category.id`.
*/
valueField: string | string[];
/**
* Sets the level in the data set where the value can be found when `valueField` is an Array.
* The field serves to correctly allocate a data item used when the DropDownTree is initialized with a value.
*/
valueDepth: number;
/**
* A function which determines if a specific node has child nodes.
*/
hasChildren: (node: object) => boolean;
/**
* A function which provides the child nodes for a given parent node.
*/
fetchChildren: (node: object) => Observable