/**
* @license
*-------------------------------------------------------------------------------------------
* Copyright © 2026 Progress Software Corporation. All rights reserved.
* Licensed under commercial license. See LICENSE.md in the package root for more information
*-------------------------------------------------------------------------------------------
*/
import { default as PropTypes } from 'prop-types';
import { TreeViewProps } from './TreeViewProps.js';
import * as React from 'react';
/**
* @hidden
*/
export interface TreeViewState {
focusedItemId?: string;
focusedItemPublicId?: any;
tabbableItemId?: string;
}
/**
* Represents the [KendoReact TreeView component](https://www.telerik.com/kendo-react-ui/components/treeview).
*
* @example
* ```jsx
* const data = [{
* text: 'Furniture', expanded: true, items: [
* { text: 'Tables & Chairs' }, { text: 'Sofas' }, { text: 'Occasional Furniture' }]
* }, {
* text: 'Decor', expanded: true, items: [
* { text: 'Bed Linen' }, { text: 'Curtains & Blinds' }, { text: 'Carpets' }]
* }];
* const App = () => {
* return ;
* }
* ```
*/
export declare class TreeView extends React.Component {
/**
* @hidden
*/
static propTypes: {
data: PropTypes.Requireable;
animate: PropTypes.Requireable;
tabIndex: PropTypes.Requireable;
focusIdField: PropTypes.Requireable;
getHierarchicalIndexById: PropTypes.Requireable<(...args: any[]) => any>;
onExpandChange: PropTypes.Requireable<(...args: any[]) => any>;
onItemClick: PropTypes.Requireable<(...args: any[]) => any>;
expandField: PropTypes.Requireable;
selectField: PropTypes.Requireable;
iconField: PropTypes.Requireable;
childrenField: PropTypes.Requireable;
hasChildrenField: PropTypes.Requireable;
textField: PropTypes.Requireable;
disableField: PropTypes.Requireable;
item: PropTypes.Requireable;
'aria-multiselectable': (props: any, propName: string, componentName: string) => Error | null;
'aria-label': PropTypes.Requireable;
'aria-labelledby': PropTypes.Requireable;
size: PropTypes.Requireable<"small" | "medium" | "large" | undefined>;
dir: PropTypes.Requireable;
};
/**
* @hidden
*/
static defaultProps: {
animate: boolean;
expandField: string;
selectField: string;
iconField: string;
hasChildrenField: string;
childrenField: string;
textField: string;
disableField: string;
checkField: string;
checkIndeterminateField: string;
size: "small" | "medium" | "large" | undefined;
};
/**
* @hidden
*/
state: {
focusedItemId: undefined;
focusedItemPublicId: undefined;
tabbableItemId: string;
};
private blurRequest;
private fieldsSvc;
private allowExplicitFocus;
private readonly showLicenseWatermark;
private readonly licenseMessage?;
private get treeGuid();
private _element;
/**
* @hidden
*/
get element(): HTMLDivElement | null;
constructor(props: TreeViewProps);
/**
* @hidden
*/
render(): React.JSX.Element;
/**
* @hidden
*/
componentDidUpdate(): void;
private onFocusDomElNeeded;
private onCheckChange;
private onExpandChange;
private onPress;
private onDrag;
private onRelease;
private onItemClick;
private onFocus;
private onBlur;
private onKeyDown;
private dispatchEventsOnKeyDown;
private setFocus;
private onContextMenu;
private getFocusedItem;
private getItemById;
private dispatchCheckChange;
private dispatchExpandChange;
private dispatchItemClick;
private refocusDueToFocusIdField;
private get ariaMultiSelectable();
private get data();
private focusDomItem;
/**
* Returns the `guid` which is associated with the TreeView.
*/
get guid(): string;
}
/**
* Represent the `ref` of the TreeView component.
*/
export interface TreeViewHandle extends Pick {
}