///
import * as React from 'react';
import { TreeNodeModel, OrgModel, KeyValDef } from './models/tree';
declare module Tree {
interface Props extends React.ClassAttributes {
closeNode?: (id: string) => void;
createNode?: (parentId: string, elementName: string, description: string, propertiesMap?: KeyValDef) => void;
data: TreeNodeModel;
defaultSelectedNodeId?: string;
deleteNode?: (id: string, elementName: string, parentNodeId?: string) => void;
displayEmptyValsError?: (emptyVals: string[]) => void;
editNode?: (id: string, elementName: string, description: string, propertiesMap?: KeyValDef, parentNodeId?: string) => void;
fetched?: string[];
fetchNode?: (id: string) => Promise;
id: string;
locale: string;
selectCallback?: (node: TreeNodeModel) => void;
children?: React.ReactNode;
key?: React.ReactText;
ref?: React.Ref;
}
interface State {
treeInstance?: JSTree;
selectedNode?: TreeNodeModel;
formOpened?: string;
editedNode?: OrgModel;
wordings?: {
[key: string]: string;
};
}
}
declare class Tree extends React.Component {
private _tree;
constructor(props: Tree.Props);
render(): JSX.Element;
componentDidMount(): void;
componentWillReceiveProps(nextProps: Tree.Props): void;
componentWillUnmount(): void;
private initTreeInstance;
private renderTreeButtonsBar;
private downloadFile;
private expandAll;
private collapseAll;
private openCreateForm;
private createNode;
private openEditForm;
private editNode;
private deleteNode;
private clearForm;
private handleElementNameChange;
private handleDescriptionChange;
private handlePropertiesChange;
private setUpTree;
private getDecodedNode;
}
export default Tree;