import { TreeImpl, CompositeTreeNode, TreeNode, SelectableTreeNode, ExpandableTreeNode } from '@theia/core/lib/browser'; import { MarkerManager } from './marker-manager'; import { Marker } from '../common/marker'; import { UriSelection } from '@theia/core/lib/common/selection'; import URI from '@theia/core/lib/common/uri'; import { ProblemSelection } from './problem/problem-selection'; import { DiagnosticSeverity } from '@theia/core/shared/vscode-languageserver-protocol'; export declare const MarkerOptions: unique symbol; export interface MarkerOptions { readonly kind: string; } export declare abstract class MarkerTree extends TreeImpl { protected readonly markerManager: MarkerManager; protected readonly markerOptions: MarkerOptions; constructor(markerManager: MarkerManager, markerOptions: MarkerOptions); protected refreshMarkerInfo(uri: URI): Promise; protected insertNodeWithMarkers(node: MarkerInfoNode, markers: Marker[]): void; protected resolveChildren(parent: CompositeTreeNode): Promise; protected createMarkerInfo(id: string, uri: URI): MarkerInfoNode; protected getMarkerNodes(parent: MarkerInfoNode, markers: Marker[]): MarkerNode[]; protected createMarkerNode(marker: Marker, index: number, parent: MarkerInfoNode): MarkerNode; } export interface MarkerNode extends UriSelection, SelectableTreeNode, ProblemSelection { marker: Marker; } export declare namespace MarkerNode { function is(node: TreeNode | undefined): node is MarkerNode; } export interface MarkerInfoNode extends UriSelection, SelectableTreeNode, ExpandableTreeNode { parent: MarkerRootNode; numberOfMarkers: number; severity?: DiagnosticSeverity; } export declare namespace MarkerInfoNode { function is(node: unknown): node is MarkerInfoNode; } export interface MarkerRootNode extends CompositeTreeNode { kind: string; } export declare namespace MarkerRootNode { function is(node: TreeNode | undefined): node is MarkerRootNode; } //# sourceMappingURL=marker-tree.d.ts.map