import { JupyterFrontEndPlugin } from '@jupyterlab/application'; import { IEditorExtensionRegistry } from '@jupyterlab/codemirror'; import { IEditorTracker } from '@jupyterlab/fileeditor'; import { WidgetLSPAdapter, VirtualDocument } from '@jupyterlab/lsp'; import { IRenderMimeRegistry } from '@jupyterlab/rendermime'; import { ITableOfContentsRegistry } from '@jupyterlab/toc'; import { Throttler } from '@lumino/polling'; import { Widget } from '@lumino/widgets'; import type * as lsProtocol from 'vscode-languageserver-protocol'; import { CodeSymbols as LSPSymbolSettings } from '../_symbol'; import { ContextAssembler } from '../context'; import { FeatureSettings, Feature } from '../feature'; import { BrowserConsole } from '../virtual/console'; export declare class SymbolFeature extends Feature { readonly capabilities: lsProtocol.ClientCapabilities; readonly id: string; protected console: BrowserConsole; protected settings: FeatureSettings; protected cache: WeakMap, lsProtocol.DocumentSymbol>; protected contextAssembler: ContextAssembler; getSymbols: Throttler, VirtualDocument ]>; constructor(options: SymbolFeature.IOptions); isApplicable(widget: Widget): boolean; protected createThrottler(): Throttler, VirtualDocument]>; private _getSymbols; private _handleSymbols; } export declare namespace SymbolFeature { interface IOptions extends Feature.IOptions { settings: FeatureSettings; renderMimeRegistry: IRenderMimeRegistry; editorExtensionRegistry: IEditorExtensionRegistry; contextAssembler: ContextAssembler; tocRegistry: ITableOfContentsRegistry | null; editorTracker: IEditorTracker | null; } const id: string; } export declare const SYMBOL_PLUGIN: JupyterFrontEndPlugin;