import * as React from 'react';
import { ElementTypeIri } from '../../data/model';
import { WorkspaceContext } from '../../workspace/workspaceContext';
import { TreeNode } from './treeModel';
interface CommonProps {
    searchText?: string;
    selectedNode?: TreeNode;
    onSelect: (node: TreeNode) => void;
    creatableClasses: ReadonlyMap<ElementTypeIri, boolean>;
    onClickCreate: (node: TreeNode) => void;
    onDragCreate: (node: TreeNode) => void;
}
export interface LeafProps extends CommonProps {
    node: TreeNode;
}
interface State {
    expanded?: boolean;
}
export declare class Leaf extends React.Component<LeafProps, State> {
    static contextType: React.Context<WorkspaceContext | null>;
    readonly context: WorkspaceContext;
    constructor(props: LeafProps, context: any);
    componentDidUpdate(prevProps: LeafProps): void;
    render(): import("react/jsx-runtime").JSX.Element;
    private onClick;
    private toggle;
    private onClickCreate;
    private onDragCreate;
}
export interface ForestProps extends CommonProps {
    className?: string;
    nodes: ReadonlyArray<TreeNode>;
    root?: boolean;
    footer?: React.ReactNode;
}
export declare class Forest extends React.Component<ForestProps> {
    render(): import("react/jsx-runtime").JSX.Element;
}
export {};
//# sourceMappingURL=leaf.d.ts.map