import React from 'react';
import { ScopeTreeNode, TreeSectionConfig, NodeTypeConfig } from '../../types';
interface TreeNodeProps {
    node: ScopeTreeNode;
    depth?: number;
    nodePath?: string[];
    expandedNodeIds: Set<string>;
    activeSelection: {
        nodePath: string[];
        sectionId: string;
    } | null;
    onToggleExpand: (nodeId: string) => void;
    onSectionSelect: (nodePath: string[], sectionId: string) => void;
    onNodeOptionsClick: (nodeId: string) => void;
    onAddChild?: (parentId: string, childType: 'SCOPE' | 'SUBSCOPE', parentName?: string) => void;
    onRenameChild?: (nodeId: string, initialName: string) => void;
    onDeleteChild?: (scopeId: string, scopeName: string, learningsCount: number) => void;
    canDeleteScope?: (scopeId: string) => boolean;
    canEditScope?: (scopeId: string) => boolean;
    canCreateScope?: (scopeId: string) => boolean;
    searchQuery?: string;
    sectionsConfig?: TreeSectionConfig[];
    nodeTypesConfig?: NodeTypeConfig[];
    forceVisible?: boolean;
}
export declare const TreeNode: React.FC<TreeNodeProps>;
export {};
//# sourceMappingURL=TreeNode.d.ts.map