import * as React from 'react'; export interface ITreeItem { item: T; Id: U; parentId: U; children: T[]; } export interface ITreeItemHash { [index: string]: ITreeItem; } export interface ITreeProps { dataSource?: any; columns?: any; parentKey?: string; uniqueKey?: string; selectedElements?: Array; openedElements?: Array; selectedKey?: string; onRowSelect?: any; filterOpenDetailTemplate?: any; onMount?: any; parentId?: any; hideRoot?: boolean; hideChildren?: boolean; } export interface ITreeState { treeItems?: ITreeItem[]; treeItemHash?: ITreeItemHash; roots?: ITreeItem[]; openedKeys?: string[]; } export default class Tree extends React.Component { static defaultProps: { parentKey: string; uniqueKey: string; }; constructor(props: ITreeProps); componentDidMount(): void; componentDidUpdate(prevProps: ITreeProps): void; initArray(dataSource: Array, bool: boolean): void; updateRoots(): void; openSelectedElements(selectedElements: Array): void; openedElements(selectedElements: Array): void; renderChildren(childNode: any): JSX.Element; renderChildrenWithoutParent(childNode: any): JSX.Element; render(): JSX.Element; }