import { createContext } from 'react' ; import type { IFolderExplorerContext } from '@cloudbeaver/core-blocks' ; import type { NavNode } from '../shared/NodesManager/EntityTypes' ; import type { NavTreeControlComponent } from './NavigationNodeComponent' ; import type { IElementsTree } from './useElementsTree' ; export interface ITreeContext { tree : IElementsTree ; folderExplorer : IFolderExplorerContext ; selectionTree : boolean ; control ? : NavTreeControlComponent ; onOpen ? : ( node : NavNode , path : string [ ] ) => Promise < void > | void ; onClick ? : ( node : NavNode , path : string [ ] , leaf : boolean ) => Promise < void > | void ; } export const TreeContext = createContext < ITreeContext | null > ( null ) ;