import { MetalsTreeRevealResult , MetalsTreeViewNode , } from "metals-languageclient" ; import { Event } from "vscode-jsonrpc" ; import { Position } from "vscode-languageserver-protocol" ; import { TextDocument } from "vscode-languageserver-textdocument" ; export interface TreeViewProvider { viewId : string ; updatedNodes : Event < MetalsTreeViewNode > ; loadNodeChildren ( parentNode ? ) : Thenable < MetalsTreeViewNode [ ] > ; loadParentInfo ( docPositionParams , position ) : Thenable < MetalsTreeRevealResult > ; sendTreeViewVisibilityNotification ( visible ) : void ; sendTreeNodeVisibilityNotification ( childNode , collapsed ) : void ; }